问题描述
visual studio code 检查更新,报错,visual studio code没有磁盘读写权限。(可能会导致插件安装报错?)
报错:The application is on a read-only volume. Please move the application and try again. If you're on macOS Sierra or later, you'll need to move the application out of the Downloads directory.
环境
macos 13.0.1
vscode: Version: 1.78.2 (Universal)
原因
下载的visual studio code 适配macOS 10.11+ darwin 版本的,安装时会自动询问是否要copy到 application中,copy到application后自动获得磁盘读写权限。
而13.0系统中,下载到Downloads,安装后不会询问是否要copy到application里,默认被安装到Downloads下,所以没有读写权限。
解决方法
参考:https://github.com/microsoft/vscode/issues/7426#issuecomment-425093469
- step0:
退出 VS 软件 - step 1:
mv ~/Downloads/Visual\ Studio\ Code.app /Applications
手动mv到 application中
- step2:
sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt/
注意,我的这个文件夹~/Library/Caches/com.microsoft.VSCode.ShipIt/
里是空的,所以完全按照官方的建议,写成sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt/*
会报错。
- step3:
xattr -dr com.apple.quarantine /Applications/Visual\ Studio\ Code.app
理论上,执行到这里就被解决了。
实际上我第一次执行的时候,会报错。所以是卸载了之后,重新安装的,再执行上述命令才work. 关于卸载的方法:
check
重新点击检查更新( Code --> check for updates),会弹出无需更新。表明可以读写了~