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

节点noob在这里。

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

显然,npm现在与节点。 ( 链接 )

对我的新手来说,这意味着我以前的双重安装是古老和丑陋的。 1个二进制> 2个二进制文件。 所以我卸载了两个。

然后我按照程序安装了最新的节点。 (我正在运行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 /节点以及/ usr / bin / nodejs可以删除其中的一个吗? 我不知道什么时候/我在哪里拿起第二个副本。

  • 是的,nodejs包包含nodenpm可执行文件。 每个代码都有自己的repo,但是打包时都包括在内。
  • npm源码: https : //github.com/isaacs/npm
  • 节点源: https : //github.com/joyent/node
  • 当您从PPA安装.deb文件时,您应该在/usr/bin/node (指向) /etc/alternatives/node/usr/bin/node )中同时获得/usr/bin/nodejs/usr/bin/npm和2个符号链接指向/usr/bin/nodejs )。
    • 如果其中任何一种情况都不正确,那么您的安装并不完全成功,很可能是由于您手动安装时留下的文件冲突。 我build议卸载.deb,然后确保没有过时的手动安装文件,然后再次安装。

我有问题(主要是在Mac上)npm结束在不在terminalpath中的目录。 如果你能弄清楚npm的位置,你可以用下面的方法把它添加到你的path中:

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

我认为(我不是在Mac上,所以我不能在这个时候检查),它有时被放在/usr/local/share/ 。 但无论如何,问题可能不是没有安装npm,而是安装在你不期望的地方。

只有node.js 带有npm。 所以如果您使用.msi.exe.dmg .pkg.deb或使用apt-getyumbrew等软件包安装程序进行安装,那么您将拥有node和npm。

但是,npm不是节点核心的一部分。 如果您正在安装节点并使用您正在使用./configuremake install ||的方法 make link ,那么npm将不会被安装,并且需要使用相同types的安装进行编译,并且节点将不得不放在你的path上。

如果你使用git或解压缩的节点,你可以看到一个configuration脚本,那么你也需要获得npm。