我已通过nodejs
安装了apt-get install nodejs
。工作正常。
当我尝试使用socket.io
安装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
......无济于事。
我尝试从源代码构建node
,但npm
未安装 - 文档说明从源代码构建npm
时应安装node
。
我已从节点网站下载了二进制文件,并将node
和npm
移至/usr/local/bin
。这样做时节点工作正常,但npm
没有。我总是得到command not found
并尝试使用绝对路径npm
运行/usr/local/bin/npm
时找不到它(权限是正确的)。
如果我运行:node -v
我得到v0.10.29
,这与运行'nodejs -v'相同。
所以,我不知道下一步该怎么做。
请问任何建议?
答案 0 :(得分:2)
您应该删除旧版本:
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编译和安装本机插件,您可能还需要安装构建工具:
sudo apt-get install -y build-essential
答案 1 :(得分:0)
如果您手动将npm
移至/usr/local/bin
,则应将此命令写入cli并重试。
alias npm="/usr/local/bin/npm"