由于与其他包名称冲突,Ubuntu上的NodeJS解释器名称(node)被重命名为NodeJS。这是自述。Debian说:
node .js解释器命令的上游名称是“node”。
在Debian中,解释器命令已更改为"nodejs"。
这样做是为了防止名称空间冲突:使用其他命令
在其上游相同的名称,如ax25-node中的“node”
包中。
作为shell命令调用Node.js的脚本必须改为
使用“nodejs”命令。
然而,使用nodejs会搞砸使用npm安装包的过程。软件包安装失败,报错如下:
Sh: 1: node: not found
此失败可能是由于使用了遗留的二进制"node"
更多解释请阅读/usr/share/doc/nodejs/ readmeDebian
我如何让npm理解nodejs已经安装在系统上,但解释器名称不同?
正如其他人已经提到的,我建议不要使用“sudo apt-get”来安装node或任何开发库。您可以从https://nodejs.org/dist/v6.9.2/下载所需的版本并设置自己的环境。
我会推荐像nvm和n这样的工具来管理你的节点版本。切换和使用这些模块非常方便。
https://github.com/creationix/nvm
https://github.com/tj/n
或者写基本bash下载zip/tar,解压移动文件夹并创建软链接。当你需要更新时,只需将旧的软链接指向新的下载版本。
就像我为自己创建的一样,你可以参考:
https://github.com/deepakshrma/NodeJs-4.0-Reference-Guide/blob/master/nodejs-installer.sh
#Go to home
cd ~
#run command
#New Script
wget https://raw.githubusercontent.com/deepakshrma/NodeJs-4.0-Reference-Guide/master/nodejs-installer.sh
bash nodejs-installer.sh -v lts
#here -v or --version can be sepecific to 0.10.37 or it could be latest/lts
#Examples
bash nodejs-installer.sh -v lts
bash nodejs-installer.sh -v latest
bash nodejs-installer.sh -v 4.4.2
node -v // first check it's install or not
npm -v
sudo apt install npm
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash –
sudo apt-get install nodejs
然后检查
node -v or node –version
npm -v or npm –version
或者你可以去掉包装。锁定json文件/ node_modules然后运行NPM I
我希望它能正常工作
步骤:https://www.geeksforgeeks.org/installation-of-node-js-on-linux/