"Versuch, '/usr/share/man/man1/node.1.gz' zu überschreiben, das sich auch im Paket nodejs-Legacy 0.10.25 ~ dfsg2-2ubuntu1 befindet"

9

Ich versuche, nodejs zu installieren, aber es schlägt wiederholt fehl. Anbei das Protokoll

$ 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)
Shash
quelle
kannst du rennen sudo apt-get updateund sudo apt-get upgrade?
Charles Green
@ CharlesGreen Ich könnte es zum Laufen bringen. Ich habe meine Frage selbst beantwortet.
Shash

Antworten:

10

Möglicherweise die Installation reparieren

Wie Charles in den Kommentaren sagte, würde ich versuchen zu rennen sudo apt-get updateund sudo apt-get upgrade. Möglicherweise möchten Sie auch ausführen sudo apt-get autoremove, um nicht mehr benötigte Pakete zu entfernen.

Der Fehler erwähnt das nodejs-legacyPaket. Wenn Sie das jemals installiert haben, möchten Sie es möglicherweise entfernen.

Eine bessere Möglichkeit, Node unter Ubuntu zu installieren

Sofern Sie nicht vorhaben, Ihren Computer als Produktionsserver zu verwenden, würde ich dringend empfehlen, Node.js mit dem NVM-Tool zu installieren . Für die Installation aus dem Repository müssen Sie diese verwenden sudo. Dies führt zu unübersichtlichen Berechtigungen, wenn Sie versuchen, Knotenmodule mit NPM zu installieren .

Als Bonus können Sie mit NVM mehrere Versionen von Node installieren und Ihre Kopie von Node auf dem neuesten Stand halten, selbst wenn die offiziellen Repositorys im Rückstand sind.

Holen Sie sich die neueste Version von NVM

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

Sagen Sie Ihrer Shell, sie zu benutzen nvm

source ~/.nvm/nvm.sh

Installieren Sie dann eine Knotenversion

nvm install 0.10

Und teilen Sie nvm mit, welche Version von Node Sie verwenden möchten

nvm use 0.10
Michael Martin-Smucker
quelle
1
Danke dafür. Mir von nvm zu erzählen hat mir wirklich geholfen. Ich hatte es so satt, mit Berechtigungen zu kämpfen.
Chev
Sie können Berechtigungsprobleme auch beheben, indem Sie Ihren Präfixpfad in ~ / .npmrc aktualisieren, sodass Sie auf Ihr Ausgangsverzeichnis zeigen.
Rich Remer
8

Eine Sache, die ich verpasst hatte, war, die vorherige Installation zu löschen und neu zu installieren. Ich habe den folgenden Befehl verwendet, um die vorherige Installation zu entfernen

sudo apt-get purge nodejs-legacy nodejs

und

sudo apt-get install nodejs

um nodejs neu zu installieren.

Verknüpfen der SO-Antwort, die mir geholfen hat

Shash
quelle
Ah, du hast es herausgefunden, bevor ich mit dem Tippen fertig bin! :) Ich würde trotzdem empfehlen, sich mit NVM zu befassen, damit Sie es nicht sudo npm installjedes Mal vermeiden können, wenn Sie Module mit npm installieren möchten.
Michael Martin-Smucker