"Essayer d'écraser '/usr/share/man/man1/node.1.gz', qui est également dans le package nodejs-legacy 0.10.25 ~ dfsg2-2ubuntu1"

9

J'essaie d'installer nodejs mais il échoue à plusieurs reprises. Ci-joint le journal

$ 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
la source
pouvez-vous courir sudo apt-get updateet sudo apt-get upgrade?
Charles Green le
@CharlesGreen Je pourrais le faire fonctionner. J'ai moi-même répondu à ma question.
Shash
2
Duplicata possible de l' erreur
Braiam

Réponses:

10

Correction potentielle de l'installation

Comme Charles l'a dit dans les commentaires, j'essaierais de courir sudo apt-get updateet sudo apt-get upgrade. Vous pouvez également exécuter sudo apt-get autoremovepour supprimer les packages dont vous n'avez plus besoin.

L'erreur mentionne le nodejs-legacypackage. Si vous l'avez déjà installé, vous souhaiterez peut-être le supprimer.

Une meilleure façon d'installer Node sur Ubuntu

Sauf si vous prévoyez d'utiliser votre ordinateur comme serveur de production, je vous recommande fortement d'installer Node.js à l'aide de l' outil NVM . L'installation à partir du référentiel nécessite que vous l' utilisiez sudo, ce qui entraîne des autorisations compliquées lorsque vous essayez d'installer des modules Node à l' aide de NPM.

En bonus, NVM vous permet d'installer plusieurs versions de Node, et il vous permet de garder votre copie de Node à jour, même si les référentiels officiels sont derrière.

Récupérez la dernière copie de NVM

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

Dites à votre shell d'utiliser nvm

source ~/.nvm/nvm.sh

Installez ensuite une version de nœud

nvm install 0.10

Et indiquez à nvm la version de Node que vous souhaitez utiliser

nvm use 0.10
Michael Martin-Smucker
la source
1
Merci pour ça. Me parler de NVM m'a vraiment aidé. J'en avais tellement marre de me battre avec des permissions.
Chev
Vous pouvez également résoudre les problèmes d'autorisations en mettant à jour votre chemin de préfixe dans ~ / .npmrc afin de pointer vers votre répertoire personnel.
remer riche du
8

Une chose que j'avais manquée était de purger l'installation précédente et de la réinstaller. J'ai utilisé la commande suivante pour supprimer l'installation précédente

sudo apt-get purge nodejs-legacy nodejs

et

sudo apt-get install nodejs

pour réinstaller nodejs.

Lier la réponse SO qui m'a aidé

Shash
la source
Ah, tu l'as compris avant que j'aie fini de taper! :) Je recommanderais quand même de regarder NVM, donc vous pouvez éviter de le faire à sudo npm installchaque fois que vous souhaitez installer des modules avec npm.
Michael Martin-Smucker du