安装OhMyZsh插件后提示错误:“zsh compinit: insecure directories”
作者:
秒速五厘米
安装(手动下载)完zsh插件后,执行 source ~/.zshrc,显示以下提示:
zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]?
警告中出现 compaudit ,通过资料得知
compaudit 的原理
出于安全原因,compinit 还会检查补全系统是否会使用不属于 root 或当前用户所有的文件,或者目录中的文件是全局或组可写的,或者不属于 root 或当前用户所有的文件。如果找到这样的文件或目录,compinit 会询问是否真的应该使用补全系统。为避免这些测试并使找到的所有文件无需询问即可使用, 请使用选项 -u,并使用选项 -i 使 compinit安装OhMyZsh插件后提示错误: “zsh compinit: insecure directories” 静默忽略所有不安全的文件和目录。当给出 -C 选项时,将完全跳过此安全检查。
运行compaudit命令返回不安全的目录:
There are insecure directories: /usr/local/share/zsh/site-functions /usr/local/share/zsh
执行以下命令修改权限shell
cd /usr/local/share/zsh sudo chmod -R 755 site-functions
再次执行 source ~/.zshrc
,若是问题还未解决,这时你就须要修改 site-functions
的全部者
OSX 10.9及如下系统执行以下命令:
cd /usr/local/share/ sudo chown -R root:root site-functions
OSX 10.9以上系统执行以下命令(user:staff 是 OSX 系统默认权限):
cd /usr/local/share/ sudo chmod -R 755 zsh sudo chown -R root:staff zshphp artisan make:auth
再次执行 source ~/.zshrc
,OK!