我们有很多人在我们项目所在的同一台服务器上工作。当然每个人都有自己的虚拟环境。
我们共享相同的node.js v4.4.5
和npm 2.15.5
。
但是,我需要npm >= 3.0.0
,因此我安装了较新的版本/usr/local/n/versions/node/8.1.3/bin/npm
,并将node
和npm
的别名添加到我的~/.bashrc
# ~/.bashrc
alias node='/usr/local/n/versions/node/8.1.3/bin/node'
alias npm='/usr/local/n/versions/node/8.1.3/bin/npm'
然后我采购了它source ~/.bashrc
,我觉得它有效,因为
$ npm --version
5.0.3
直到我运行npm run dev
$ npm run dev
> training@1.0.0 dev /home/users/itsme/projects/training
> /usr/local/n/versions/node/8.1.3/bin/node build/dev-server.js
To use this template, you must update following to modules:
npm: 2.15.5 should be >= 3.0.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! training@1.0.0 dev: `/usr/local/n/versions/node/8.1.3/bin/node build/dev-server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the training@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/users/itsme/.npm/_logs/2017-07-06T15_13_11_912Z-debug.log
我不明白为什么它似乎在运行共享过时的npm
而不是我的。{/ p>
这是另一个非常奇怪的事情
$ which npm # shows the shared one
$ `which npm` --version
2.15.5
答案 0 :(得分:1)
https://github.com/creationix/nvm
节点版本管理器使管理多个节点环境成为一项简单的任务。
答案 1 :(得分:0)
这解决了我的问题(基于Oliver Charlesworth's answer)
Updat occured on Column