npm全局安装模块而提示找不到命令
SunShinewyf opened this issue · 4 comments
最近遇到一个问题,在一个webpack
的项目中,当执行如下命令:
npm install webpack -g
然后使用webpack
执行代码的时候,会提示webpack command not found
,一脸懵逼,什么情况????
经过一番google
之后,最终将问题定位在npm
的全局安装目录的问题。
所以开始重装node
,卸载和使用nvm
重新安装node
在此就不再赘述了,具体可戳这里,现在主要是记录一下在这其中踩到的坑
nvm command not found
当你在执行下面命令之后:
# vim .bash_profile后增加下面这两行
export NVM_DIR="$HOME/.nvm"
source $(brew --prefix nvm)/nvm.sh
然后再查看nvm --version
的时候,会报错nvm command not found
,这种情况是因为你的bash_profile
还没激活,需要执行下面命令进行激活:
source .bash_profile
npm command not found
当你使用nvm
安装完node
之后,并且可以得到node
安装的版本号,但是在执行npm -v
的时候,会报错npm command not found
,原本npm
就是node
里面自带的一个模块,最后会报这样的错误,简直是有点怀疑人生,然后又是一番google
,内心挣扎到不行。。。。这是因为node
安装有问题,重新执行如下命令进行安装:
brew update
brew uninstall node
brew install node
sudo brew postinstall node
然后再执行npm
,可以发现可以了,惊喜+激动
webpack command not found
执行命令npm install webpack -g
之后还是提示webpack
命令找不到(心里一万头草泥马奔腾而过),为啥,然后开始改bash_profile
里面的路径如下:
export NODE_PATH=$(npm prefix -g)/lib/node_modules
export NVM_DIR="$HOME/.nvm"
source $(brew --prefix nvm)/nvm.sh
并执行source .bash_profile
使之生效。此时又报错了,错误如下:
nvm is not compatible with the npm config "prefix" option: currently set to "/Users/mac/~/.nvm/versions/node/v5.0.0"
Run `npm config delete prefix` or `nvm use --delete-prefix v5.0.0` to unset it.
这种说明npm config
命令和nvm
有冲突,你直接执行nvm use --delete-prefix v5.0.0
就行
找不到该目录var cwd = process.cwd();
再上一步中再次全局安装webpack
,并执行webpack
之后,心塞地又报错了,错误如下:
node.js:289
var cwd = process.cwd();
^
Error: No such file or directory
at Function.resolveArgv0 (node.js:289:23)
at startup (node.js:43:13)
at node.js:448:3
想哭的心都有了,然后各种查找资料,终于找到了一种终极解决方案。
- 首先将所有的命令行窗口都关掉
- 执行如下命令
sudo npm cache clean -f
sudo npm install -g n
- 再次执行
webpack
就好了
写在最后
满脸的辛酸泪,最后看到webpack
命令跑起来的时候,简直想随便拉个人亲一下(哈哈哈~~~)
只是记录一下过程,希望可以帮到有相同问题的人~~~
第一次安装成功后,查看npm,node,版本都是看的到的。
但重启后就找不到了。始终报npm: command not found
查看目录/Users/xx/下存在这2文件。
.npm
.nvm
去.bash_profile 里怎么配都不行,求解
@wl520a 是不是没有全局安装,或者配置 .bash_profile 之后是否激活了
全卸载安装就对了
謝謝分享 我差點也是要哭了...