我使用这些命令成功更新/安装了最新版本的 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 --version
nodejs --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 安装的nvm
,nodejs
命令是使用 NodeJS 安装的apt-get