Debian では、sid
Web サービスをインストールするために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リリースタグを使用してパッケージをインストールできます。Debian リポジトリ。nodejs
問題が解決したと仮定すると、1001
debian Sidからパッケージをインストールする必要があります。
apt install nodejs/unstable
編集する
このパッケージはnodejs
990に固定され、debianリポジトリからインストールされます。ファイルから nodejs を削除し、preferences
次を実行します。
apt update
apt install nodejs
nodejsパッケージはnodesourceリポジトリからインストールする必要があります。