"Намагається перезаписати '/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 updateі sudo apt-get upgrade?
Чарльз Грін

@CharlesGreen Я міг би його працювати. Я відповів на своє запитання.
Шаш

Відповіді:


10

Потенційно виправлення установки

Як сказав Чарльз у коментарях, я б спробував бігти sudo apt-get updateі sudo apt-get upgrade. Ви також можете запустити sudo apt-get autoremoveдля видалення пакунків, які вам більше не потрібні.

Про помилку згадується nodejs-legacyпакет. Якщо ви коли-небудь встановили це, можливо, ви захочете його видалити.

Кращий спосіб встановити Node на Ubuntu

Якщо ви не плануєте використовувати комп'ютер як виробничий сервер, я настійно рекомендую встановити Node.js за допомогою інструмента NVM . Встановлення з сховища вимагає використання 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, яку версію Node ви хочете використовувати

nvm use 0.10

1
Дякую за це. Розповідь про nvm насправді допомогло мені. Мені так нудно було боротися з дозволами.
Шев

Ви також можете вирішити проблеми з дозволом, оновивши свій шлях префікса в ~ / .npmrc, щоб ви вказували на свій домашній dir.
багатий ремер

8

Одне, що я пропустив, - очистити попередню установку та перевстановити. Для видалення попередньої установки я використав наступну команду

sudo apt-get purge nodejs-legacy nodejs

і

sudo apt-get install nodejs

перевстановити nodejs.

Зв'язування з SO відповіді , який допоміг мені


Ах, ти це зрозумів, перш ніж я закінчив друкувати! :) Я все ж рекомендую заглянути в NVM, тому ви можете уникати sudo npm installкожного разу, коли вам потрібно встановити модулі з npm.
Майкл Мартін-Смукер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.