You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS非管理员用户无法更新VSCode问题求助

VSCode非管理员用户更新失败问题(Jamf Pro环境)

问题详情

近期为设备上的非管理员用户完成注册后,遇到VSCode更新异常:更新助手弹窗弹出后,非管理员用户无法完成更新。已执行以下排查动作但未解决:

  • 查阅过微软VSCode官方仓库的相关更新权限议题
  • 检查过应用程序文件夹及~/Library/Caches/com.microsoft.VSCode.ShipIt的所有权与组权限
  • 尝试取消弹窗后手动搜索下载最新版本、重启应用安装,但重启VSCode后并未成功完成更新

环境背景:使用Jamf Pro作为MDM工具,VSCode最初通过Jamf SelfService部署安装。

解决建议

1. 调整核心目录权限

通过Jamf Pro推送脚本,为非管理员用户开放VSCode安装目录及缓存目录的写入权限:

# 授予staff组对VSCode应用目录的读写权限
sudo chmod -R g+w /Applications/Visual\ Studio\ Code.app
sudo chgrp -R staff /Applications/Visual\ Studio\ Code.app

# 修复ShipIt缓存目录权限
sudo chmod -R g+w ~/Library/Caches/com.microsoft.VSCode.ShipIt
sudo chgrp -R staff ~/Library/Caches/com.microsoft.VSCode.ShipIt

2. Jamf Pro静默推送更新

绕过用户端更新流程,直接通过MDM推送官方安装包:

  • 从VSCode官网下载最新的pkg格式安装包
  • 在Jamf Pro中创建软件部署策略,设置为静默安装,指定目标设备为所有非管理员用户设备
  • 配置策略定期执行(如每周一次),确保设备始终保持最新版本

3. 配置系统级更新模式

修改VSCode配置,启用系统级更新,避免用户权限限制:
在VSCode的settings.json中添加以下配置:

{
    "update.mode": "system",
    "update.enableMacBackgroundUpdates": true
}

通过Jamf Pro将该配置文件批量推送到用户的~/Library/Application Support/Code/User/settings.json路径。

4. 检查ShipIt工具执行权限

验证VSCode内置的ShipUpdater工具权限,确保非管理员可执行:

ls -l /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/out/vs/code/electron-browser/ShipIt.app/Contents/MacOS/ShipIt

若权限不足,推送脚本修复:

sudo chmod +x /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/out/vs/code/electron-browser/ShipIt.app/Contents/MacOS/ShipIt

内容的提问来源于stack exchange,提问作者J.zdz.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 23:48:28