Ubuntuでnodejsとnpmをインストールしたときにnpmが入らなかったためその解決法
npmインストールのときに起こったこと
$ sudo apt-get install npm パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 インストールすることができないパッケージがありました。おそらく、あり得 ない状況を要求したか、(不安定版ディストリビューションを使用しているの であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移 動されていないことが考えられます。 以下の情報がこの問題を解決するために役立つかもしれません: 以下のパッケージには満たせない依存関係があります: npm : 依存: nodejs しかし、インストールされようとしていません 依存: node-abbrev (>= 1.0.4) しかし、インストールされようとしていません 依存: node-ansi しかし、インストールされようとしていません 依存: node-archy しかし、インストールされようとしていません 依存: node-block-stream しかし、インストールされようとしていません 依存: node-fstream (>= 0.1.22) しかし、インストールされようとしていません 依存: node-fstream-ignore しかし、インストールされようとしていません 依存: node-github-url-from-git しかし、インストールされようとしていません 依存: node-glob (>= 3.1.21) しかし、インストールされようとしていません 依存: node-graceful-fs (>= 2.0.0) しかし、インストールされようとしていません 依存: node-inherits しかし、インストールされようとしていません 依存: node-ini (>= 1.1.0) しかし、インストールされようとしていません 依存: node-lockfile しかし、インストールされようとしていません 依存: node-lru-cache (>= 2.3.0) しかし、インストールされようとしていません 依存: node-minimatch (>= 0.2.11) しかし、インストールされようとしていません 依存: node-mkdirp (>= 0.3.3) しかし、インストールされようとしていません 依存: node-gyp (>= 0.10.9) しかし、インストールされようとしていません 依存: node-nopt (>= 2.1.1) しかし、インストールされようとしていません 依存: node-npmlog しかし、インストールされようとしていません 依存: node-once しかし、インストールされようとしていません 依存: node-osenv しかし、インストールされようとしていません 依存: node-read しかし、インストールされようとしていません 依存: node-read-package-json (>= 1.1.0) しかし、インストールされようとしていません 依存: node-request (>= 2.25.0) しかし、インストールされようとしていません 依存: node-retry しかし、インストールされようとしていません 依存: node-rimraf (>= 2.2.2) しかし、インストールされようとしていません 依存: node-semver (>= 2.1.0) しかし、インストールされようとしていません 依存: node-sha しかし、インストールされようとしていません 依存: node-slide しかし、インストールされようとしていません 依存: node-tar (>= 0.1.18) しかし、インストールされようとしていません 依存: node-which しかし、インストールされようとしていません E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
依存関係で壊れているらしい。
解決方法
ggrとUbuntuで依存関係が壊れている時の対応を見つける
aptitudeを用いて依存関係をダウンロードすることができるっぽいので試してみる。
$ sudo aptitude install npm [sudo] password for takeuchi: 以下の新規パッケージがインストールされます: gyp{a} libjs-node-uuid{a} node-abbrev{a} node-ansi{a} node-archy{a} node-async{a} node-block-stream{a} node-combined-stream{a} node-cookie-jar{a} node-delayed-stream{a} node-forever-agent{a} node-form-data{a} node-fstream{a} node-fstream-ignore{a} node-github-url-from-git{a} node-glob{a} node-graceful-fs{a} node-gyp{a} node-inherits{a} node-ini{a} node-json-stringify-safe{a} node-lockfile{a} node-lru-cache{a} node-mime{a} node-minimatch{a} node-mkdirp{a} node-mute-stream{a} node-node-uuid{a} node-nopt{a} node-normalize-package-data{a} node-npmlog{a} node-once{a} node-osenv{a} node-qs{a} node-read{a} node-read-package-json{a} node-request{a} node-retry{a} node-rimraf{a} node-semver{a} node-sha{a} node-sigmund{a} node-slide{a} node-tar{a} node-tunnel-agent{a} node-which{a} npm 0 個のパッケージを更新、 47 個を新たにインストール、 0 個を削除予定、3 個が更新されていない。 988 k バイトのアーカイブを取得する必要があります。 展開後に 5,083 k バイトのディスク領域が新たに消費されます。 以下のパッケージには満たされていない依存関係があります: nodejs : 競合: npm [1.3.10~dfsg-1 がインストール予定となっています] 以下のアクションでこれらの依存関係の問題は解決されます: 以下のパッケージを現在のバージョンに一時固定する: 1) npm [インストールされていません] この解決方法を受け入れますか? [Y/n/q/?] . 以下のアクションでこれらの依存関係の問題は解決されます: 以下のパッケージをインストールする: 1) libc-ares-dev [1.10.0-2 (trusty)] 2) libv8-3.14-dev [3.14.5.8-5ubuntu2 (trusty)] 3) libv8-3.14.5 [3.14.5.8-5ubuntu2 (now, trusty)] 4) nodejs-dev [0.10.25~dfsg2-2ubuntu1 (trusty)] 以下のパッケージをダウングレードする: 5) libc-ares2 [1.10.0-2ubuntu0.1 (now, trusty-security, trusty-updates) -> 1.10.0-2 (trusty)] 6) nodejs [0.10.37-1chl1~trusty1 (now, trusty) -> 0.10.25~dfsg2-2ubuntu1 (trusty)] この解決方法を受け入れますか? [Y/n/q/?] y
最初のこの解決方法を受け入れますかで「.」を入力することで依存関係の問題を解決してくれる。この解決方法を受け入れますかで「y」を選択すればよい
するとnpmが無事インストールされてる。apt-getで確認しても問題ない
$ which npm /usr/bin/npm $ sudo apt-get install npm パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 npm はすでに最新版です。
困ってる人の助けになれば….