Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

npm全局安装模块而提示找不到命令 #22

Open
SunShinewyf opened this issue Jul 10, 2017 · 4 comments
Open

npm全局安装模块而提示找不到命令 #22

SunShinewyf opened this issue Jul 10, 2017 · 4 comments
Labels

Comments

@SunShinewyf
Copy link
Owner

最近遇到一个问题,在一个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 -fsudo npm install -g n
  • 再次执行webpack就好了

写在最后

满脸的辛酸泪,最后看到webpack命令跑起来的时候,简直想随便拉个人亲一下(哈哈哈~~~)
只是记录一下过程,希望可以帮到有相同问题的人~~~

@LarryBug
Copy link

第一次安装成功后,查看npm,node,版本都是看的到的。
但重启后就找不到了。始终报npm: command not found
查看目录/Users/xx/下存在这2文件。
.npm
.nvm
去.bash_profile 里怎么配都不行,求解

@SunShinewyf
Copy link
Owner Author

@wl520a 是不是没有全局安装,或者配置 .bash_profile 之后是否激活了

@LarryBug
Copy link

全卸载安装就对了

@toricctan
Copy link

謝謝分享 我差點也是要哭了...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants