MacOS安装nvm后启动zsh提示insecure directories错误如何解决?
问题解决方法
问题原因
这个报错是zsh内置的补全校验机制compinit检测到补全相关目录的权限配置不符合安全要求(存在多用户可写的目录),加载nvm自带的bash补全脚本时触发了该校验。
修复步骤
推荐使用更安全的权限修复方案:
- 第一步:执行命令查看所有存在权限风险的目录
compaudit
输出的目录列表即为触发警告的不安全目录。
- 第二步:执行以下命令修改这些目录的权限,移除组和其他用户的写入权限,同时将目录所有者改为当前用户
compaudit | xargs sudo chmod g-w,o-w compaudit | xargs sudo chown -R $(whoami):staff
- 第三步:重载配置验证效果
source ~/.zshrc
新开终端窗口检查警告是否消失即可。
如果因为环境限制不想修改目录权限,可以使用跳过校验的方案:
打开你的~/.zshrc文件,在加载nvm补全的代码之前新增compinit -i配置,修改后的完整nvm配置如下:
export NVM_DIR="$HOME/.nvm" # 提前加载compinit并跳过安全校验 autoload -Uz compinit && compinit -i [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
修改完成后重载配置即可生效。
内容的提问来源于stack exchange,提问作者Paul Verest on LinkedIn
相关产品推荐
相关产品推荐

