node.js冲突:/ sbin / node vs / usr / bin / node
我有两台Ubuntu 12.10机器:机器A是VMWare VM,机器B是旧Acer笔记本电脑。 在两台机器上,我使用apt-get安装了节点。 但是,机器A将主二进制文件安装为/usr/bin/node
,将机器B安装为/usr/bin/nodejs
。 以下是我观察到的一些行为:
- 两台机器都返回
/usr/bin/node
以响应which node
命令。 但是,机器B上没有这样的文件。 - 发出命令
node
适用于机器A,而不是B.在B上,我必须使用nodejs
。 - 在B上,有一个名为/ sbin / node的二进制文件,A没有它。
在两台机器上开发时,这些行为会导致不一致问题。 现在,我通过在B上重命名二进制文件来解决这个问题:
sudo mv /sbin/node /sbin/node-sbin sudo ln -s /usr/bin/nodejs /usr/bin/node
有没有办法真正解决这个问题,那么该节点将安装为/usr/bin/node
而不是/usr/bin/nodejs
?
在Ubuntu 13.10上面的所有答案对我都不起作用。 当我安装nodejs-legacy时,它终于奏效了
sudo apt-get install nodejs-legacy
这为我正确提供了/usr/bin/node
,因此可以使用例如nodemon
。
更新:下面修改的说明使用nodejs-legacy
包。( 有关node-legacy的更多信息 )
尝试完全删除冲突的节点包:
sudo apt-get --purge remove node sudo apt-get --purge remove nodejs-legacy sudo apt-get --purge remove nodejs sudo apt-get install nodejs-legacy # Confirm it worked node --version # v0.10.13 ls -la `which node` # ... /usr/bin/node -> /etc/alternatives/node
当我无意中安装了非node.js node
包时发生了这种情况。 虽然我在安装正确的nodejs
包之前做了apt-get remove node
,但我想--purge
参数是必需的。
背景资料 :
与节点包(业余分组无线电节点程序)存在命名冲突,并且nodejs二进制文件已从节点重命名为nodejs。 您需要将/ usr / bin / node符号链接到/ usr / bin / nodejs,或者您可以卸载业余数据包无线电节点程序以避免这种冲突。
不幸的是,创建一个符号链接不起作用。 为我工作的是创建一个别名。 在~/.bashrc
或~/.bash_aliases
(如果~/.bashrc
加载此文件),只需添加以下行:
alias node="nodejs"
通过在控制台中键入bash
重新启动bash会话,您的别名现在可以正常工作。
我觉得这就是:
sudo update-alternatives --install / usr / bin / node node / usr / bin / nodejs 10
使用Debian替代品。
迟到的答案,但对于最新的信息……
如果使用来自节点github安装自述文件的recommended方法安装node.js,它建议遵循nodesource博客文章中的说明 ,而不是从过时的apt-get repo安装,node.js应该使用node
命令运行,以及nodejs
命令,无需创建新的符号链接。
这篇文章的方法是:
# Note the new setup script name for Node.js v0.12 curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash - # Then install with: sudo apt-get install -y nodejs
请注意,这适用于v0.12,在不久的将来可能会过时。
此外,如果您在公司代理(例如我)后面,您将需要在sudo命令中添加-E选项,以保留代理所需的env变量:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
在ubuntu 14.04上,我遇到了相同的节点问题。 我没有工作“节点”,并工作“nodejs”。 我已经做了
sudo apt-get remove node
在那之后,节点正在运行,并且nodejs也正在运行:)我是linux的新手,这对我来说是一个谜。 然而鲍尔正在运行!
sudo getconf LONG_BIT sudo uname -p
- 确认您的CPU架构
- 在https://nodejs.org/dist/的目录树中找到您的node.js发行版(注意:各种CPU架构的各种node.js发行版的各种版本)
我的桌面目前是Ubuntu 15.10 AMD64,所以我将在我的安装示例中使用以下URL(再次,distrib的变化):
sudo wget https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x64.tar.gz
然后将目录更改为下载目录:
sudo cd /home/name/Downloads
从下载目录中,执行以下命令:
sudo tar -C /usr/local --strip-components 1 -xzf node-v5.0.0-linux-x64.tar.gz
使用以下命令确认node.js安装:
sudo ls -l /usr/local/bin/node sudo ls -l /usr/local/bin/npm
REF。 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/