最近使用NodeJS等。我为不同的教程+项目安装了完全不同的软件包。 我最终得到了这种配置:
louis@louis:~$ node -v
v5.10.0
louis@louis:~$ nodejs -v
v6.2.1
louis@louis:~$ npm -v
3.8.3
你能解释一下这些之间的区别吗?
答案 0 :(得分:4)
似乎您安装了两个不同版本的nodejs
,其中一个版本是从源代码安装的,另一个是从软件包管理器安装的,如apt
。
louis@louis:~$ node -v
v5.10.0
这将返回您安装的旧版nodejs,我建议您将其删除。
louis@louis:~$ nodejs -v
v6.2.1
这会返回已安装的current version of nodejs
,可能是您使用包管理器安装的,我记得Ubuntu
它来自nodejs
可执行文件名。
我建议你创建像这样的链接
sudo ln -s `which nodejs` /usr/bin/node
所以它也可以使用node
命令。
nodejs vs node on ubuntu 12.04
louis@louis:~$ npm -v
3.8.3
这只是npm
计划的版本,与nodejs
版本无关。
卸载您拥有的所有版本并使用node
安装nvm
以便轻松切换旧版本/新版本
要安装或更新nvm,您可以使用cURL:
来使用安装脚本
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
或Wget:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
<强>用法强>
下载,编译和安装最新的v5.0.x版节点, 这样做:
nvm install 5.0
然后在任何新的shell中只使用已安装的版本:
nvm use 5.0
答案 1 :(得分:3)
我假设您使用的是ubuntu。 node
和nodejs
是相同的工具,但node
是旧版本,nodejs
是当前的开发分支。
npm
但是node(js)
的包管理器。
答案 2 :(得分:1)
这里有一些有用的信息可以添加到讨论中,并希望能帮助您解决有关节点版本冲突的问题。
将NodeJs版本添加到.bash_profile中的$ PATH(或者可能称为.bashrc或.bashconfig)文件中,将确保来自终端的节点调用将使用最新版本而不是旧版本。
使用NVM(节点版本管理器)将允许您使用&nbspm使用6.0.0&#39;动态安装和更改节点版本。并且强烈建议,如果使用节点和npm版本对于node_modules目录中的某些npm软件包不正确,某些NPM软件包将会中断。 在这种情况下,您还必须将NVM添加到$ PATH,但这很容易做到:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
可在提供的链接中找到更多详细信息。
OP的问题得到了解答,我知道,但我认为将OP指向更好的解决方案也是一个好主意。