由于名称与另一个包冲突,nodeUbuntu上的NodeJS解释器名称()已重命名为nodejs.这是自述文件.Debian说:
Node.js解释器命令的上游名称是"node".在Debian中,解释器命令已更改为"nodejs".
这样做是为了防止命名空间冲突:其他命令在其上游使用相同的名称,例如来自"node"包的ax25-node.
必须将调用Node.js作为shell命令的脚本更改为使用"nodejs"命令.
但是,使用nodejs会破坏使用安装包npm.程序包安装失败,并显示以下错误:
Run Code Online (Sandbox Code Playgroud)sh: 1: node: not found npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian
如何让npm了解nodejs已安装在系统上,但解释器名称有所不同?
我知道这个问题已被多次询问,但我还是不能这样做.所以我错误地安装了"node" sudo apt-get install node,后来我安装了nodejs(v0.10.37).我尝试用npm更新到v0.12,但是当我这样做时它仍然说0.10.37 nodejs -v.此外,我不能使用node命令,因为我之前错误地安装了其他"节点事物".我尝试了人们在所有其他答案中谈到的所有不同命令,但我还没有做到.我认为主要的问题是我一直有错误的节点包,并且安装nodejs-legacy不起作用.该npm install命令也可以工作并创建包含文件的文件夹,但我的应用程序仍然说缺少库.