node 和 nodejs 有不同的版本

node 和 nodejs 有不同的版本

我使用这些命令成功更新/安装了最新版本的 node js(官方curl方法对我来说不起作用):

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node

但是,我的node和nodejs的版本变得不同:

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

似乎新节点已安装在/usr/local/bin/node,因此我尝试:

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

但它返回:

ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists

我也使用这个链接:

$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists

我会使用一些依赖于 的框架node,比如Ionic。它会使用哪个 node 版本?

我应该怎么做才能解决这个问题?

非常感谢你的帮助

答案1

为我解决相同问题的步骤:

sudo apt-get remove nodejs
sudo ln -s /usr/bin/node /usr/bin/nodejs

解释

你在电脑上安装了两个版本的nodejs,所以需要删除其中一个版本。你的情况:

node v5.0.0 - you will keep this one
nodejs v0.10.25 - this you can remove

您可以nodejs通过命令删除包apt-get remove。这也会删除文件/usr/bin/nodejs,并且您将不会再收到错误消息。

现在您可以创建一个名为“/usr/bin/nodejs”的符号链接,该链接指向源“/usr/local/bin/node”。在您的示例中,“从”和“到”路径的顺序错误

sudo ln -s source_file myfile

有关链接创建的更多信息:符号链接的工作原理

答案2

错误:

ln: failed to create symbolic link ‘/usr/bin/node’: File exists

通常是由于您实际上有两个版本的 Nodejs 造成的,一个版本的别名为 ,node另一个版本的别名为,正如我们在命令和 的nodejs结果中看到的那样:node --versionnodejs --version

$ node --version
v5.0.0
$ nodejs --version
v0.10.25

因此您不能为已经存在的文件创建符号链接。

为了解决这个问题,您需要使用以下命令完全删除这两个包:

sudo apt-get purge node
sudo apt-get purge nodejs
sudo rm -rf bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node

nodejs并使用以下命令仅重新安装包:

sudo apt-get install nodejs

并使用以下命令创建符号链接:

ln -s /usr/bin/nodejs /usr/bin/node

或者nodejs-legacy使用以下命令安装可解决此问题的:

sudo apt-get install nodejs-legacy 

答案3

对我来说,该node命令是 NodeJS 安装的nvmnodejs命令是使用 NodeJS 安装的apt-get

相关内容