0. 现象
Could not create temporary directory: Permission denied
1. 问题起因
在/Users/username/Library/Caches/目录下,有以下两个文件, 可以看到,他们两个的用户是不一样的,一个是root一个username, 一般来说,我是以username来使用我的mac的。就是因为这两个文件的用户不一样,导致了更新失败。
drwxr-xr-x 6 username staff 204B Jan 17 20:33 com.microsoft.VSCode
drwxr--r-- 2 root staff 68B Dec 17 13:51 com.microsoft.VSCode.ShipIt
2. 解决方法
注意: 先把vscode 完全关闭
// 1. 这一步是需要输入密码的
sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt/
// 2. 这一步是不需要输入密码的, 如果不进行第一步,第二步会报错
sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt/*
// 3. 更新xattr
xattr -dr com.apple.quarantine /Applications/Visual\ Studio\ Code.app
3. 打开vscode
Code > Check for Updates, 点击之后,你会发现Check for Updates已经变成灰色了,那么你需要稍等片刻,马上就可以更新,之后会跳出提示,让你重启vscode, 然后重启一下vscode, 就ok了。
4. 参考
joaomoreno commented on Feb 7, 2017 • edited
原文链接:https://segmentfault.com/a/1190000012881106