ubuntu 14.04 节点粥

ubuntu 14.04 节点粥

我的机器上有两个版本的nodejs。

我只有 v8.6.0。我运行了:

sudo apt-add-repository "deb https://deb.nodesource.com/node_8.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

并收到消息:“正在安装 v8.12.0”

接下来是“apt list -a node”的输出:

Listing... Done
nodejs/unknown,now 8.12.0-1nodesource1 amd64 [installed]
nodejs/unknown 6.14.4-1nodesource1 amd64
nodejs/trusty-updates,trusty-security 0.10.25~dfsg2-2ubuntu1.2 amd64
nodejs/trusty 0.10.25~dfsg2-2ubuntu1 amd64

但是“node -v”仍然给出:

v8.6.0

/etc/apt/sources.list 中的“相关”行:

deb http://security.ubuntu.com/ubuntu trusty-security main restricted
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

deb https://deb.nodesource.com/node_8.x trusty main

我甚至在 /etc/apt/sources.list.d/nodesource.list 中有这个:

deb https://deb.nodesource.com/node_6.x trusty main
deb-src https://deb.nodesource.com/node_6.x trusty main
deb https://deb.nodesource.com/node_6.x trusty main
deb-src https://deb.nodesource.com/node_6.x trusty main

我猜我与 Ubuntu 的 repo 和 nodesource 有冲突?

如何解决?

答案1

我找错地方了。

v8.12.0 位于 /usr/bin,甚至 /usr/bin/nodejs 是指向 /etc/alternatives/nodejs 的符号链接,而 /etc/alternatives/nodejs 又是指向 /usr/bin/node 的符号链接。

v8.6.0 位于 /usr/local/bin 中

我在 /usr/local/bin 中重命名了节点,然后在此处创建了一个名为节点的符号链接到 /usr/bin/node。

cd /usr/local/bin
mv node node.v8.6.0
sudo ln -s /usr/bin/node ./node

到目前为止一切似乎都顺利......

我想我前段时间安装 cordova 或者类似的东西的时候得到了 v8.6...

我还删除了 /etc/apt/sources.list.d/nodesource.list

相关内容