节点和npm的问题

我已经通过apt-get install nodejs 。 工作正常。

当我尝试使用npm install --save socket.io我最终失败:

 npm WARN This failure might be due to the use of legacy binary "node" 

我试图解决这个使用:

 sudo update-alternative --install /usr/bin/node node /usr/bin/nodesjs 10 

…无济于事。

我试图从源代码构buildnode ,但npm没有安装 – 文档说,从源代码构buildnode时应该安装npm

我已经从节点站点下载了二进制文件,并将nodenpm移动到了/usr/local/bin 。 这样做时节点工作正常,但npm不。 我总是得到command not found ,当试图运行npm使用绝对path: /usr/local/bin/npm没有find(权限是正确的)。

如果我运行: node -v我得到v0.10.29这是运行'nodejs -v'相同。

所以,我在黑暗中不知道下一步该做什么。

有什么build议吗?

您应该删除旧版本:

 apt-get remove nodejs nodejs-legacy npm 

并尝试再次安装。

 curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get -y install nodejs 

要从npm编译和安装本地插件,您可能还需要安装构build工具:

 sudo apt-get install -y build-essential 

如果您手动将npm移动到/usr/local/bin ,则应将此命令写入您的cli,然后重试。

 alias npm="/usr/local/bin/npm"