Ubuntu中有两个名称相似的软件包 node 和 nodejs 。
node做这个,
Description-zh:业余分组无线节点程序。节点程序接受TCP /
IP和分组无线网络连接,并为用户提供一个接口,该接口允许他们使用各种业余无线协议与远程主机建立网关连接。
nodejs做这个,
Description-zh:基于事件的Node.js服务器端Javascript引擎Node.js在设计上与Ruby的Event
Machine或Python的Twisted等系统相似,并受其影响。它使事件模型更进一步-
将事件循环显示为语言构造而不是库。Node.js捆绑有一些有用的库来处理服务器任务:系统,事件,标准I /
O,模块,计时器,子进程,POSIX,HTTP,多部分解析,TCP,DNS,断言,路径,URL,查询字符串。
Fedora也遵循类似的软件包命名方案。因此,必须将二进制文件in
从原始文件
nodejs重命名为。但是,从技术上讲,这不是可理解的:大多数nodejs程序(以及随npm安装的库)都假定节点二进制文件为。如果您想解决这个问题,最简单的方法就是将两者符号链接在一起。如果您采用这种方式,请不要安装用于处理业余分组无线电设备的软件包。
nodejs``node``node``node
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
另外,在使用节点的情况下,建议
n不要使用
node。只需安装npm(将安装节点),然后删除npm,然后告诉apt清理它。为此,只需运行
sudo apt-get install npmsudo npm install -g nsudo n latestsudo apt-get --purge remove npmsudo apt-get autoremove
还有其他二进制发行版管理器,甚至可以使用像shell脚本这样的脚本,
nvm但是我个人更喜欢
n。想像一下
n只适合做一件事:它安装到的节点二进制文件
/usr/local/bin。
为什么要删除npm?不是。
apt-get --purge remove可 仅 过移除由包管理器安装的东西。
nlatest在包管理器之外工作。如果执行此操作,则有两个npm,
- 发行版(Debian / Ubuntu)使用安装的版本
apt-get
。 - 由安装的版本
n latest
。
使用发行版的旧版本毫无意义。而且,甚至更糟的是,如果该版本有效,它可能会安装到其他位置,并在其中进行Debian修改,以采用Debian安装目录。最好同时使用其中一个或两个,但不要同时使用。



