Назад | Перейти на главную страницу

Nodejs: Зависит от: rlwrap, но не устанавливается

Только что купил новый свежий виртуальный сервер в облаке 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. Там все работало.

У меня была такая же проблема в Ubuntu 14.04. Решение:

  1. Скачать rlwrap из http://packages.ubuntu.com/trusty/rlwrap. Вот Прямая ссылка
  2. Установите это sudo dpkg -i rlwrap_0.34-2_amd64.deb
  3. Установить nodejs sudo apt-get install nodejs
  1. включить репозиторий юниверса sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
  2. исправить и обновить sudo dpkg --configure -a && sudo apt-get update && sudo apt-get -y upgrade
  3. попробуйте еще раз (обратите внимание, что инструкции node.js заменяют репозитории Ubuntu на собственные, поэтому убедитесь, что скрипт сработал)
>apt-cache show rlwrap
Package: rlwrap
Priority: optional
Section: universe/editors
Installed-Size: 300
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Francois Marier <francois@debian.org>
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

Вот что помогло мне установить node.js на Ubuntu 14.04 и немного объяснения, почему я предпочитаю устанавливать node таким образом.
Это включает в себя добавление стороннего PPA, который использовался многими людьми и кажется самым популярным PPA для узла в 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. и в качестве аргумента командной строки.
Я могу ошибаться, но я считаю, что Debain / Ubuntu, возможно, изменили свою версию узла, чтобы использовать команду nodejs где обычная команда node, чтобы предотвратить конфликты между двумя пакетами.
Я никогда не планирую устанавливать версию для радиолюбителей, поэтому я предпочитаю установить неофициальную версию, которая, как я знаю, отвечает на команду node, потому что я подозреваю, что вероятность поломки будет выше, если другие программы, связанные с nodejs, попытаются вызвать 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