Raspbian Busterのインストールでnpmを更新しようとしています。パッケージマネージャが提供するバージョンが不十分です。
まず、いくつかの提案に従いました。このスレッド次に、次を使用してBullseyeにアップグレードしてみてください。このガイドライン。
Bullseyeにアップグレードする前または後にこれが開始されたかどうかはわかりませんが、実行するたびに依存sudo apt install <anything>
関係をインストールできないというメッセージが表示されます。インストールされたパッケージを再インストールしようとすると、パッケージをダウンロードできないというエラーが発生します。以下は2つの例です。
% sudo apt install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
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: libnode72 (= 12.22.12~dfsg-1~deb11u4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
% sudo apt reinstall vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of vim is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
(私の知る限り)システムは完全に更新され、アップグレードされました。
% sudo apt update && sudo apt full-upgrade && sudo apt dist-upgrade
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
保留中のパッケージはありません。
% sudo apt-mark showhold
%
インターネットで提案されたさまざまな修正を試しました。
% sudo apt --fix-broken install
%
そして
% sudo dpkg --configure -a
%
結果がないまた、/etc/apt/sources.list.dの一部の* .listファイル名を* .list.bakに変更しましたが、問題が起動して解決しようとした後にのみこれを実行したと思います。
パッケージマネージャを再利用できるように復元するにはどうすればよいですか?
編集する:
出力apt policy nodejs
% sudo apt policy nodejs
nodejs:
Installed: (none)
Candidate: 12.22.12~dfsg-1~deb11u4
Version table:
12.22.12~dfsg-1~deb11u4 50
50 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages
/etc/apt/sources.listの内容
% cat /etc/apt/sources.list
deb http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
出力uname -m
% uname -m
armv7l
出力lsb_release -a
:
% lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
注目すべき点:まだまだスポイラーとしてマークされています。
進捗編集:
だから上記のように、私は次のようになります。このガイドラインnpmをアップグレードしようとしています。私はこれがsource.list.dにエントリを追加したと思いますが、私はそれを再び無効にしました。このエントリを再度有効にすると、を実行できますapt install nodejs
。私はこのような他のパッケージをsudo apt install cowsay
正常にインストールしようとしました。その後、新しいパッケージを再インストールしてみましたが、sudo apt reinstall cowsay
成功しました。以前にインストールしたパッケージを再インストールしようとすると、パッケージをダウンロードできないというメッセージで失敗し続けました。ただし、パッケージを手動で削除して再インストールすると成功しましたsudo apt remove nano && sudo apt install nano
。これで手動で削除して再インストールすると成功しますsudo apt reinstall nano
。
ただし、追加パッケージをインストールしようとするとまだ失敗します。たとえば、長い依存関係のリストnode-*
(手動でインストールしたNodejsを含む)のため、npmのインストールに失敗しました。また、aptitude(破損したaptシステムを復元する可能性のある一部のソースで推奨)などをインストールしようとすると失敗しました。
% sudo apt install aptitude
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
aptitude : Depends: libapt-pkg6.0 (>= 1.9.0) but it is not going to be installed
Depends: libstdc++6 (>= 9) but 8.3.0-6+rpi1 is to be installed
Depends: libxapian30 (>= 1.4.17~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
そのため、Nodejsをインストールできるようになり、いくつかの進歩を遂げましたが、それでも危機から離れているわけではありません。
答え1
おそらく、最新のPiにすでにRaspberry Pi OS 64ビットがインストールされているでしょう。 Raspbianの代わりに標準のDebian ARM64リポジトリを使用してください。ファームウェアはまだRaspberry Pi Ltd.によって提供され、32/64ビットソースは同じです。
この試み:
deb http://archive.raspberrypi.org/debian/ bullseye main
これを確認してください:
Raspberry PiをBullseyeにアップグレードしてください。
Raspbian 32ビットと64ビット - 非常に異なる適切なソースのリスト
Raspberry PI OS/Debian 11 Bullseye APTリポジトリ
または、次のことを試してください。
/etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ bullseye main contrib non-free rpi
/etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ bullseye main
修正する:
apt-get update
apt-get dist-upgrade
クリーニングと取り外し:
apt-get autoremove
apt-get autoclean
編集/更新:
バックアップ
/etc/apt/
と/var/lib/apt/lists/
編集リスト項目の削除または移動
mv /etc/apt/sources.list.d/MY_FILES.list /BACKUP/
- 既存のパッケージリストの削除とパッケージキャッシュの消去
rm -rf /var/lib/apt/lists/*
apt clean
sources.list
バックアップから元のバージョンを復元するか、デフォルトでバージョンを作成してください。sources.list
cp /usr/share/doc/apt/examples/sources.list /etc/apt/sources.list
- 修正する
apt update
- 基本パッケージの再インストール
apt --reinstall install raspberrypi-sys-mods raspberrypi-kernel raspberrypi-bootloader
システムを大幅に変更した場合は、オペレーティングシステムを再インストールする必要があります。