问题描述:
- 安装(手动下载)完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!