Nodejs,Npm,节点。包装差异?

时间:2016-06-07 10:30:25

标签: javascript node.js npm

最近使用NodeJS等。我为不同的教程+项目安装了完全不同的软件包。 我最终得到了这种配置:

louis@louis:~$ node -v
v5.10.0
louis@louis:~$ nodejs -v
v6.2.1
louis@louis:~$ npm -v
3.8.3

你能解释一下这些之间的区别吗?

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

https://github.com/creationix/nvm#install-script

答案 1 :(得分:3)

我假设您使用的是ubuntu。 nodenodejs是相同的工具,但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指向更好的解决方案也是一个好主意。