npm现在有节点。这是什么意思?

时间:2013-11-21 18:03:53

标签: node.js npm

Node noob。

我以前分别安装了npm和node。

显然,npm现在带有节点。 (link

对我的新手来说,这意味着我之前的双重安装是陈旧而丑陋的。 1二进制> 2个二进制文件。所以我卸下了两个。

然后我在procedure之后安装了最新节点。 (我正在运行eOS)

终端

user@box:-$ which node
/usr/bin/node
user@box:-$ node -v
v0.10.22
user@box:-$ which npm
user@box:-$ npm -v
bash: /usr/bin/npm: No such file or directory

我总是可以跑:

curl https://npmjs.org/install.sh | sh

但这似乎表明npm实际上并未包含在节点中。

当他们说他们被包含在内时,他们只是意味着代码在同一个回购中,但二进制文件仍然不同吗?

最后的问题我有/ usr / bin / node以及/ usr / bin / nodejs 我可以删除其中一个吗?我不确定我何时/何地拿起第二份副本。

3 个答案:

答案 0 :(得分:12)

  • 是的,nodejs包中包含nodenpm个可执行文件。每个代码都有自己的repo,但是当打包时都包含它们。
  • npm来源:https://github.com/isaacs/npm
  • 节点来源:https://github.com/joyent/node
  • 当您从PPA安装该.deb文件时,您应该同时获得/usr/bin/nodejs/usr/bin/npm以及/usr/bin/node(指向)/etc/alternatives/node的2个符号链接(其中指向/usr/bin/nodejs)。
    • 如果其中任何一个不成立,那么您的安装并未完全成功,很可能是由于手动安装中遗留的文件存在冲突。我建议卸载.deb,然后确保手动安装中没有旧文件,然后重新安装。

答案 1 :(得分:4)

我遇到过问题(主要是在Mac上),npm最终会出现在不在终端PATH中的目录中。如果你能弄清楚npm的位置,你可以将它添加到你的路径中,例如:

export PATH=$PATH:/path/to/npm

我认为(我不是在mac上,所以我现在无法检查)它有时会被放入/usr/local/share/。但无论如何,问题可能不是没有安装npm,而是安装在你不想要的地方。

答案 2 :(得分:4)

只有node.js 附带npm。因此,如果您使用.msi.exe.dmg .pkg.deb或使用apt-get等程序包安装程序进行安装,{{1或者yum,然后你将同时拥有node和npm。

但是,npm不是节点核心的一部分。如果您要安装节点并使用使用brew./configure ||的方法make install,然后将不安装npm,并且需要使用相同类型的安装进行编译,并且必须将节点放在您的路径上。

如果您使用git或解压缩节点并且可以看到配置脚本,那么您还需要获取npm。