「 '/usr/share/man/man1/node.1.gz'を上書きしようとしています。これは、nodejs-legacy 0.10.25〜dfsg2-2ubuntu1パッケージにも含まれています」


9

nodejsをインストールしようとしていますが、繰り返し失敗します。添付はログです

$ sudo apt-get install nodejs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libc-ares2 libv8-3.14.5
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  rlwrap
The following NEW packages will be installed:
  rlwrap
The following packages will be upgraded:
  nodejs
1 upgraded, 1 newly installed, 0 to remove and 11 not upgraded.
Need to get 0 B/4,391 kB of archives.
After this operation, 14.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package rlwrap.
(Reading database ... 263979 files and directories currently installed.)
Preparing to unpack .../rlwrap_0.37-5_amd64.deb ...
Unpacking rlwrap (0.37-5) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_0.10.31-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.31-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.31-1chl1~trusty1_amd64.deb (--unpack):
 trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/nodejs_0.10.31-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

あなたが実行することができますsudo apt-get updatesudo apt-get upgrade
チャールズグリーン

@CharlesGreen私はそれを機能させることができました。自分で質問に答えました。
Shash

回答:


10

インストールを修正する可能性があります

チャールズはコメントで言ったように、私が実行しようとするだろうsudo apt-get updatesudo apt-get upgrade。また、実行sudo apt-get autoremoveして、不要になったパッケージを削除することもできます。

エラーはnodejs-legacyパッケージに言及しています。これをインストールしたことがある場合は、削除することをお勧めします。

UbuntuにNodeをインストールするためのより良い方法

コンピューターを運用サーバーとして使用する予定がない限り、NVMツールを使用してNode.jsをインストールすることを強くお勧めします。リポジトリからインストールするにはsudo、を使用する必要があるため、NPMを使用してノードモジュールインストールしようとすると、権限乱雑になります

おまけとして、NVMでは複数のバージョンのNodeをインストールでき、公式リポジトリが遅れていてもNodeのコピーを最新の状態に保つことができます。

NVMの最新コピーを入手する

curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash

シェルに使用するように伝えます nvm

source ~/.nvm/nvm.sh

次に、ノードバージョンをインストールします。

nvm install 0.10

そして、使用したいノードのバージョンをnvmに伝えます

nvm use 0.10

1
これありがとう。nvmについて教えてくれたことは本当に助かりました。私は許可との戦いにうんざりしていました。
Chev

〜/ .npmrcのプレフィックスパスを更新して、ホームディレクトリをポイントすることで、権限の問題を解決することもできます。
リッチリマー

8

私が見逃していたことの1つは、以前のインストールを削除して再インストールすることでした。次のコマンドを使用して、以前のインストールを削除しました

sudo apt-get purge nodejs-legacy nodejs

そして

sudo apt-get install nodejs

nodejsを再インストールします。

私を助けたSOの答えをリンクする


ああ、あなたは私がタイプし終える前にそれを理解しました!:)ただし、NVMを調べることをお勧めしsudo npm installます。これにより、npmを使用してモジュールをインストールするたびに実行を回避できます。
マイケル・マーティン・スマッカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.