![Nodejs: Зависит от: rlwrap, но его нельзя установить](https://rvso.com/image/652676/Nodejs%3A%20%D0%97%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D1%82%20%D0%BE%D1%82%3A%20rlwrap%2C%20%D0%BD%D0%BE%20%D0%B5%D0%B3%D0%BE%20%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F%20%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C.png)
Только что купил новый виртуальный сервер в облаке, Ubuntu 14.04.
Я обновил свои пакеты с помощью apt-get update.
Возникли проблемы при попытке установить node js. Я следовал этому руководству:https://github.com/joyent/node/wiki/installing-node.js-via-package-manager
Когда я бегу, sudo apt-get install -y nodejs
я получаю это:
user@server sudo apt-get install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
nodejs : Depends: rlwrap but it is not installable
E: Unable to correct problems, you have held broken packages.
Что это за rlwrap? Я гуглил, но не нашел, как его установить.
--Обновлять--
Я попробовал нижеприведенные рекомендации. Никакого успеха. Я откатился до 12.04. Там все работало.
решение1
У меня была точно такая же проблема в Ubuntu 14.04. Решение:
- Скачать
rlwrap
сhttp://packages.ubuntu.com/trusty/rlwrap. ВотПрямая ссылка - Установить его
sudo dpkg -i rlwrap_0.34-2_amd64.deb
- Установить nodejs
sudo apt-get install nodejs
решение2
- включить репозиторий вселенной
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
- исправить и обновить
sudo dpkg --configure -a && sudo apt-get update && sudo apt-get -y upgrade
- попробуйте еще раз (обратите внимание, что инструкции node.js заменяют репозитории Ubuntu на пользовательские, поэтому убедитесь, что скрипт сработал)
>apt-cache show rlwrap Package: rlwrap Priority: optional Section: universe/editors Installed-Size: 300 Maintainer: Ubuntu Developers <[email protected]> Original-Maintainer: Francois Marier <[email protected]> Architecture: amd64 Version: 0.37-2 Provides: readline-editor Depends: libc6 (>= 2.4), libncurses5 (>= 5.7+20100313), libreadline6 (>= 6.0) Filename: pool/universe/r/rlwrap/rlwrap_0.37-2_amd64.deb Size: 80968 MD5sum: 8fca381b84e7205b92615d2d2f6df588 SHA1: ea227d0b53c16cec64f259e349d69073fce972f8 SHA256: 09d5d948a387f77a1f09b8ad800a73349dbcd6245f787496e0f1743df5259ea4 Description-en: readline feature command line wrapper This package provides a small utility that uses the GNU readline library to allow the editing of keyboard input for any other command. Input history is remembered across invocations, separately for each command; history completion and search work as in bash and completion word lists can be specified on the command line. Homepage: http://utopia.knoware.nl/~hlub/uck/rlwrap/ Description-md5: 2dd4e4df63ed824e61c4e21ad05cd1eb Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu Task: edubuntu-desktop-kde, edubuntu-desktop-gnome
решение3
Вот что сработало для меня при установке node.js на Ubuntu 14.04 и небольшое объяснение, почему я предпочитаю устанавливать node таким образом.
Это включает в себя добавление стороннего PPA - который использовался многими людьми и, похоже, является самым популярным PPA для node на Ubuntu, запустите:
sudo apt-get install python-software-properties
+
sudo apt-add-repository ppa:chris-lea/node.js
+
sudo apt-get update
+
sudo apt-get install nodejs
Проверьте установку с помощью
node -v
Фон
Похоже, nodejs конфликтует с другим пакетом, используемым Debian и Ubuntu, который также называется «node».
например, если вы ищете репозитории Ubuntu с помощью:
apt-cache search node | grep Amateur
Вы увидите пакет под названием
node - Программа Amateur Packet Radio Node (переходный пакет)
Это старый пакет для любительского радио, которому Debian/Ubuntu отдали приоритет над nodejs в обоих репозиториях Ubuntu.икак аргумент командной строки.
Я могу ошибаться, но я думаю, что Debian/Ubuntu могли изменить свою версию node, чтобы использовать команду nodejs
там, где обычная команда — node
, чтобы предотвратить конфликты между двумя пакетами.
Я никогда не планирую устанавливать версию для любительского радио, поэтому я решил установить неофициальную версию, которая, как я знаю, реагирует на команду node
, потому что я подозреваю, что вероятность поломок будет выше, если другие программы, связанные с nodejs, попытаются сделать вызов node
и не получат ответа.
решение4
Тот, кто пытается установить node на Ubuntu Vivid (планшет Ubuntu BQ): следуйте решению @bekce, только вам нужно обратить внимание на архитектуру вашей машины. Мой планшет — armhf
, поэтому я скачал rlwrap
его armhf
с:
wget https://launchpad.net/ubuntu/+source/rlwrap/0.41-1
а остальное то же самое:
sudo dpkg -i rlwrap_0.34-2_amd64.deb
sudo apt-get install nodejs