自动更新在 VSCode 中不起作用:无法创建临时目录:权限被拒绝
Auto update isn't working in VSCode: Could not create temporary directory: Permission denied
从某个时候开始,我开始不时收到此错误(我想它会在编辑器尝试检查更新时触发),并且 manual/auto 更新不起作用。我更新编辑器的唯一方法是重新下载应用程序并手动替换它。
有人遇到同样的问题并成功解决了吗?
尝试在终端中输入以下命令:
cd ~/Library/Caches
sudo chown -R <username>:staff *
上述解决方案有效,但就像用大锤杀死家蝇一样。
- 转到缓存
cd ~/Library/Caches
。
- 检查文件夹的所有权。
ls -la
- 你可能会看到
drwxr--r-- 2 root staff 64 Nov 15 09:37 com.microsoft.VSCode.ShipIt
- 运行
sudo chown <username>:staff com.microsoft.VSCode.ShipIt
这允许您只更新该文件夹所有者,而不会触及其他文件夹。你可以意外地打破项目。
在 2020 年 8 月 12 日对我的 macOS Catalina 10.15.6
进行了补充更新和错误修复后,我在更新 VSCode
时遇到了类似的问题。我通过手动更新 VSCode
:
解决了这个问题
- 在官方网站上转到 last changes。
- 下载:
Windows:用户系统| Mac | Linux: 快照 deb rpm tarball
mv ~/Downloads/Visual\ Studio\ Code.app/ ~/Applications/
或 move/copy Visual Studio Code.app
进入 Applications
文件夹
- 启动
Visual Studio Code.app
并享受最新版本。
After that, the application should auto update
the new version without any problems !
我使用以下脚本手动 download/install 新版本(例如在 /opt/
下)。旧目录已备份。此外,如果出现网络故障,我可以重新运行脚本以恢复。
vscode-update
#!/bin/bash
set -e
cd /opt/
datetime=$(date +"%Y-%m-%d_%H%m%S")
dateonly=$(date +"%Y-%m-%d")
downloadedfile="vscode_download_$dateonly.tar.gz"
backupfile="VSCode-linux-x64_backup_$datetime"
url=https://update.code.visualstudio.com/latest/linux-x64/stable
echo "Downloading $url --> $(pwd)/$downloadedfile"
wget --continue -O "$downloadedfile" $url
echo "backing up old vscode under: $backupfile"
mv VSCode-linux-x64/ "$backupfile"
echo "extracting: $downloadedfile"
tar xvzf "$downloadedfile"
echo "UPDATE DONE!"
就我而言,~/Library/Caches/com.microsoft.VSCode.ShipIt
突然归 root:staff
所有。我通过 运行 以下命令修复了它:
sudo chown -R $USER:'staff' ~/Library/Caches/com.microsoft.VSCode.ShipIt
(在组名周围添加了单引号,因为 ZSH 不喜欢它)
从某个时候开始,我开始不时收到此错误(我想它会在编辑器尝试检查更新时触发),并且 manual/auto 更新不起作用。我更新编辑器的唯一方法是重新下载应用程序并手动替换它。
有人遇到同样的问题并成功解决了吗?
尝试在终端中输入以下命令:
cd ~/Library/Caches
sudo chown -R <username>:staff *
上述解决方案有效,但就像用大锤杀死家蝇一样。
- 转到缓存
cd ~/Library/Caches
。 - 检查文件夹的所有权。
ls -la
- 你可能会看到
drwxr--r-- 2 root staff 64 Nov 15 09:37 com.microsoft.VSCode.ShipIt
- 运行
sudo chown <username>:staff com.microsoft.VSCode.ShipIt
这允许您只更新该文件夹所有者,而不会触及其他文件夹。你可以意外地打破项目。
在 2020 年 8 月 12 日对我的 macOS Catalina 10.15.6
进行了补充更新和错误修复后,我在更新 VSCode
时遇到了类似的问题。我通过手动更新 VSCode
:
- 在官方网站上转到 last changes。
- 下载:
Windows:用户系统| Mac |Linux: 快照 deb rpm tarball mv ~/Downloads/Visual\ Studio\ Code.app/ ~/Applications/
或 move/copyVisual Studio Code.app
进入Applications
文件夹- 启动
Visual Studio Code.app
并享受最新版本。
After that, the application should
auto update
the new version without any problems !
我使用以下脚本手动 download/install 新版本(例如在 /opt/
下)。旧目录已备份。此外,如果出现网络故障,我可以重新运行脚本以恢复。
vscode-update
#!/bin/bash
set -e
cd /opt/
datetime=$(date +"%Y-%m-%d_%H%m%S")
dateonly=$(date +"%Y-%m-%d")
downloadedfile="vscode_download_$dateonly.tar.gz"
backupfile="VSCode-linux-x64_backup_$datetime"
url=https://update.code.visualstudio.com/latest/linux-x64/stable
echo "Downloading $url --> $(pwd)/$downloadedfile"
wget --continue -O "$downloadedfile" $url
echo "backing up old vscode under: $backupfile"
mv VSCode-linux-x64/ "$backupfile"
echo "extracting: $downloadedfile"
tar xvzf "$downloadedfile"
echo "UPDATE DONE!"
就我而言,~/Library/Caches/com.microsoft.VSCode.ShipIt
突然归 root:staff
所有。我通过 运行 以下命令修复了它:
sudo chown -R $USER:'staff' ~/Library/Caches/com.microsoft.VSCode.ShipIt
(在组名周围添加了单引号,因为 ZSH 不喜欢它)