mac环境zsh控制台
1. 复现错误的步骤
1、全局安装Eslint,执行命令npm install -g eslint
2、安装完毕,在命令控制面板出现下面提示
/usr/local/Cellar/node/11.10.0/bin/eslint -> /usr/local/Cellar/node/11.10.0/lib/node_modules/eslint/bin/eslint.js
3、检验是否安装成功eslint -v
出现错误提示:command not found:eslint
出现类似command not found的错误,要么是没有真的完成相关包的安装、要么是没有刷新配置,或者是软链接目录配置错误,一般根据这些思路进行排除错误。
2. 排查错误的原因
1、使用npm进行包的安装,并在/usr/local/Cellar/node/11.10.0/lib/node_modules/eslint/bin/eslint.js
目录找到了对应的安装文件,证明相关的包安装没有异常。
2、打开控制面板,执行命令
cd /usr/local/Cellar/node/11.10.0/bin
在bin的目录下有eslint软链接,
![](https://img.haomeiwen.com/i2054534/b717466c4ce007b5.png)
然后在bin执行命令,
eslint -v
出现eslint的版本号:
![](https://img.haomeiwen.com/i2054534/032e3e9ed2f7d9d2.png)
说明eslint命令没有问题,mac配置的软链接出现了问题。
3、执行命令
open ~/.zshrc
发现zsh文件path路径配置为
export PATH="$PATH:/usr/local/Cellar/node/10.8.0/bin
但是npm安装的路径为
/usr/local/Cellar/node/11.10.0/bin
出现这种错误的原因是,npm在使用过程中进行了升级,但是没有更改zsh文件的导出配置路径,导致eslint软链接找不到,出现command not found的错误。
从中我们可以发现npm全局模块的真实安装路径在/usr/local/Cellar/node/11.10.0/lib/node_modules/
下,/usr/local/Cellar/node/11.10.0/bin
下的可执行文件只是软链接而已。
网友评论