Debian Stretch에 최신 NodeJS를 설치할 수 없습니다.

Debian Stretch에 최신 NodeJS를 설치할 수 없습니다.

저는 데비안 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의 게시물에 있는 명령을 다시 실행했지만 데비안은 여전히 ​​v4.8.2 nodejs패키지를 설치했습니다.

답변1

버전 4.8.2는 apt다음을 통해 설치 됩니다.주요 창고.

달리기:

apt purge nodejs
apt install lsb-release
apt install -y nodejs

설치된 버전 확인 nodjs:

node --version
v9.3.0

버전 npm:

npm --version
5.5.1

문제는 핀 우선순위에 있습니다. 안정 버전을 핀 우선순위에 고정하세요.500

Package: *
Pin: release n=experimental 
Pin-Priority: 100

불안정한:

Package: *
Pin: release n=unstable
Pin-Priority: 100

안정적인 것들도 있습니다:

Package: *
Pin: release n=stable
Pin-Priority: 500

문제는 다음과 같이 해결됩니다.

시냅틱을 열고 nodejs를 검색한 후 CTRL+E를 누르고 nodsource1버전을 선택한 다음 변경 사항을 적용하세요.

답변2

Pi3 Model B(raspbianstretch 9.4 사용)에서도 동일한 문제가 발생했습니다. 먼저 apt-get 명령에 버전을 지정하여 nodejs-v8 강제 설치를 시도했습니다 apt install nodejs=8.11.2~dfsg-1+b1. 이는 충족되지 않은 종속성을 초래하기 때문에 나에게 적합하지 않습니다.

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nodejs : Depends: libnghttp2-14 (>= 1.25.0) but 1.18.1-1 is to be installed
         Depends: libuv1 (>= 1.18.0) but 1.9.1-3 is to be installed
         Recommends: nodejs-doc but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

GAD3R의 허용된 답변도 나에게 적합하지 않았습니다.

그러나 실행하면 apt-cache policy nodejs다음과 같은 결과가 나타납니다.

nodejs:
  Installed: 4.8.2~dfsg-1
  Candidate: 4.8.2~dfsg-1
  Version table:
     8.11.4-1nodesource1 500
        500 https://deb.nodesource.com/node_8.x stretch/main armhf Packages
     8.11.2~dfsg-1+b1 750
        750 https://mirror.nl.leaseweb.net/raspbian/raspbian testing/main armhf Packages
 *** 4.8.2~dfsg-1 900
        900 https://mirror.nl.leaseweb.net/raspbian/raspbian stretch/main armhf Packages
        100 /var/lib/dpkg/status

테스트 저장소에서 nodejs를 강제로 설치합니다.

apt-get install nodejs -t testing

이것은 매우 효과적입니다!

node -v
v8.11.2

관련 정보