命令行command not found:eslint解决

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软链接,


命令行command not found:eslint解决_第1张图片
控制面板命令.png

然后在bin执行命令,

eslint -v

出现eslint的版本号:


image.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下的可执行文件只是软链接而已。

你可能感兴趣的:(命令行command not found:eslint解决)