Debian에서는 sid
웹 서비스를 설치하기 위해 nodejs
NodeJS 저장소를 추가하고 패키지를 설치하는 스크립트를 실행했습니다. NodeJS 저장소의 버전 대신 apt
패키지의 Debian 버전이 8.11.2~dfsg-1
어떤 이유로 포함되지 않았기 때문에 문제가 해결되었습니다 . 누락된 스크립트는 설치 후 예상되는 모양을 엉망으로 만듭니다 .npm
8.11.2-1nodesource1
npm
nodejs
수동으로 문제를 해결했지만 apt install nodejs=8.11.2-1nodesource1
일시적인 해결 방법입니다. 버전에 관계없이 특정 저장소를 선호하도록 스크립트에 지정할 수 있는 방법이 있습니까?
편집하다
# apt policy nodejs
nodejs:
Installed: 8.11.2-1nodesource1
Candidate: 8.11.2-1nodesource1
Version table:
*** 8.11.2-1nodesource1 500
500 https://deb.nodesource.com/node_8.x sid/main arm64 Packages
100 /var/lib/dpkg/status
8.11.2~dfsg-1 990
990 http://deb.debian.org/debian unstable/main arm64 Packages
답변1
버전에 관계없이 특정 저장소를 선호하도록 스크립트에 지정할 수 있는 방법이 있습니까?
origin
이름을 사용하는 대신 "외부 소스"에 높은 우선순위 할당 옵션을 사용하여 외부 소스를 고정해야 합니다 release
.
예, g: 다음 줄을 다음 줄에 추가하세요 /etc/apt/preferences.d/preferences
.
Package: *
Pin: origin deb.nodesource.com
Pin-Priority: 1001
될거야 apt-cache policy nodejs
:
Candidate: 8.11.2-1nodesource1
Version table:
8.11.2-1nodesource1 1001
1001 https://deb.nodesource.com/node_8.x sid/main amd64 Packages
8.11.2~dfsg-1 500
500 http://deb.debian.org/debian sid/main amd64 Packages
패키지는 다음 위치에서 nodejs
설치됩니다 .nodsource.com
apt install nodejs
일반적으로 (설치 스크립트를 사용하여) nodejs 소스를 추가하면 전체 패키지 이름을 추가하거나 미리 준비된 방식을 사용하지 않고 nodejs
패키지가 설치됩니다 . (이것은 문제가 될 수 있습니다.nodesource.com
apt
여기에 신고하세요).
패키지를 여러 저장소(debian 저장소 및 외부 저장소)에서 사용할 수 있는 경우 debian 릴리스 태그를 사용하여 패키지를 설치할 수 있습니다.데비안 저장소. nodejs
문제가 해결되었다고 가정하면 1001
debian Sid에서 패키지를 설치해야 합니다.
apt install nodejs/unstable
편집하다
이 패키지는 nodejs
990에 고정되어 있으며 debian 저장소에서 설치됩니다. 파일에서 nodejs를 제거 preferences
하고 다음을 실행합니다.
apt update
apt install nodejs
nodejs 패키지는 nodesource 저장소에서 설치해야 합니다.