我的机器上有两个版本的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