我运行 Debian 9.3。我去NodeJS网站查看如何在我的机器上安装 NodeJS v9.X 并运行提供的代码。
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
但是终端吐出了这条消息:
Reading package lists... Done
Building dependency tree
Reading state information... Done
nodejs is already the newest version (4.8.2~dfsg-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
我的机器被 NodeJS v4.8.2 和 NPM v1.4.21 卡住了。
如何升级到最新的 NodeJS 和 NPM?
更新
我遵循@GAD3R 的指示。它仍然安装 v4.8.2。这是我在运行 GAD3R 的命令然后运行sudo apt install nodejs
.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libuv1
The following NEW packages will be installed:
libuv1 nodejs
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/3,524 kB of archives.
After this operation, 14.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package libuv1:amd64.
(Reading database ... 141225 files and directories currently installed.)
Preparing to unpack .../libuv1_1.9.1-3_amd64.deb ...
Unpacking libuv1:amd64 (1.9.1-3) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_4.8.2~dfsg-1_amd64.deb ...
Unpacking nodejs (4.8.2~dfsg-1) ...
Setting up libuv1:amd64 (1.9.1-3) ...
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up nodejs (4.8.2~dfsg-1) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode
当我运行update-alternatives --config nodejs
时,终端打印update-alternatives: error: no alternatives for nodejs
==
当我跑步时apt-cache policy nodejs
,我得到这个......
nodejs:
Installed: 4.8.2~dfsg-1
Candidate: 4.8.2~dfsg-1
Version table:
9.3.0-1nodesource1 500
500 https://deb.nodesource.com/node_9.x stretch/main amd64 Packages
8.9.3~dfsg-2 1
1 http://ftp.us.debian.org/debian experimental/main amd64 Packages
6.12.0~dfsg-2 500
500 http://ftp.us.debian.org/debian unstable/main amd64 Packages
*** 4.8.2~dfsg-1 990
990 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
==
我跑了sudo /etc/apt/preferences
,直到现在才存在,并在里面写了这个:
Package: *
Pin: release n=experimental
Pin-Priority: 100
Package: *
Pin: release n=unstable
Pin-Priority: 100
Package: *
Pin: release n=stable
Pin-Priority: 500
我重新运行了 GAD3R 帖子中的命令,但 Debian 仍然安装了 v4.8.2nodejs
包。
4.8.2 版本是通过
apt
从main repo安装的。跑:
验证安装的
nodjs
版本:npm
版本:问题出在 pin 优先级,将稳定版本 pin 到
500
不稳定:
和马厩:
问题通过以下方式解决:
我在 Pi3 Model B(使用 raspbian 拉伸 9.4)上遇到了同样的问题。首先,我尝试通过在 apt-get 命令中指定版本来强制安装 nodejs-v8
apt install nodejs=8.11.2~dfsg-1+b1
:. 这对我不起作用,因为它导致了未满足的依赖关系:GAD3R 接受的答案也对我不起作用。
但是,当我跑步时,
apt-cache policy nodejs
我得到了这个:强制从测试存储库安装 nodejs:
这就像一个魅力!