macOS从Monterey升级到Ventura后终端及npm命令异常求助
macOS Ventura升级后终端与npm问题解决
问题现象
- 终端启动时报错:
zsh: killed mkdir -m 700 -p "$SHELL_SESSION_DIR"
- VSCode内运行npm脚本报错:
$ npm run start zsh: killed npm run start - 直接执行nodemon提示命令不存在:
$ nodemon server.js zsh: command not found: nodemon
已尝试无效操作
brew uninstall git brew update brew reinstall pcre2 gettext brew install git brew reinstall node
解决方案
1. 修复SHELL_SESSION_DIR权限
zsh会话目录权限异常会导致mkdir被终止,执行以下命令重置:
sudo chown -R $USER:$USER /private/var/tmp/zsh_sessions sudo chmod -R 700 /private/var/tmp/zsh_sessions
若目录不存在,手动创建并授权:
sudo mkdir -m 700 /private/var/tmp/zsh_sessions sudo chown $USER:$USER /private/var/tmp/zsh_sessions
2. 重置系统完整性保护(SIP)
升级后SIP配置异常可能导致命令被终止,操作步骤:
- 重启Mac,开机时按住
Command + R进入恢复模式 - 打开「实用工具」-「终端」,执行:
csrutil disable reboot - 重启后再次进入恢复模式,执行:
csrutil enable reboot
3. 修复npm全局PATH配置
nodemon找不到是因为全局包目录不在PATH中,执行以下操作:
- 查看npm全局前缀:
npm config get prefix - 将前缀路径添加到zsh配置:
echo 'export PATH="$(npm config get prefix)/bin:$PATH"' >> ~/.zshrc source ~/.zshrc - 重新安装全局nodemon:
npm install -g nodemon
4. 重置zsh配置
若以上操作无效,备份并重置zsh配置文件:
mv ~/.zshrc ~/.zshrc.backup mv ~/.zprofile ~/.zprofile.backup touch ~/.zshrc source ~/.zshrc
内容的提问来源于stack exchange,提问作者murkoa
相关产品推荐
相关产品推荐

