Pau*_*erg 8 node.js npm node-modules nvm
我使用节点9.3.0已有很长时间了,但是最近我迁移到了10.12.0。一切正常,当我这样做时node -v,npm -v我得到了正确的版本:
Paul-Bergs-Macbook:node paulrberg$ node -v
v10.12.0
Paul-Bergs-Macbook:node paulrberg$ which node
/Users/paulrberg/.nvm/versions/node/v10.12.0/bin/node
Paul-Bergs-Macbook:node paulrberg$ npm -v
6.4.1
Paul-Bergs-Macbook:node paulrberg$ which npm
/Users/paulrberg/.nvm/versions/node/v10.12.0/bin/npm
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行任何npm命令时,将使用旧版本。那是:
Paul-Bergs-Macbook:node paulrberg$ npm i truffle -g
/Users/paulrberg/.nvm/versions/node/v9.3.0/bin/truffle -> /Users/paulrberg/.nvm/versions/node/v9.3.0/lib/node_modules/truffle/build/cli.bundled.js
+ truffle@4.1.14
added 81 packages from 311 contributors in 1.715s
Run Code Online (Sandbox Code Playgroud)
和:
npm list -g --depth=0
/Users/paulrberg/.nvm/versions/node/v9.3.0/lib
??? truffle@4.1.14
Run Code Online (Sandbox Code Playgroud)
不知道这是否是仍指向最新版本的bash代码,但我似乎找不到任何证明。运行env并检查9.3.0环境变量不会产生任何结果。
到目前为止,我做了什么:
nvm uninstall 9.3.0nvm reinstall-with-packages~/.nvmrc并设置10.12.0在那里在经过数小时的Unix痛苦的调试之后,我意识到问题是我在中设置了前缀npm config:
prefix = "/Users/paulrberg/.nvm/versions/node/v9.3.0"
Run Code Online (Sandbox Code Playgroud)
要解决此问题,请确保通过执行以下操作取消设置前缀:
npm config rm prefix
Run Code Online (Sandbox Code Playgroud)
提到了这一点,尽管不一定在nvm doc中闪耀
如果您有〜/ .npmrc文件,请确保它不包含任何前缀设置(与nvm不兼容)
| 归档时间: |
|
| 查看次数: |
1389 次 |
| 最近记录: |