Nodejs:依赖:rlwrap 但无法安装

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?我在 Google 上搜索过,但没找到如何安装它。

--更新--

我尝试了以下建议。没有成功。我降级到 12.04。一切都正常。

答案1

我在 Ubuntu 14.04 中遇到了完全相同的问题。解决方案:

  1. 下载rlwraphttp://packages.ubuntu.com/trusty/rlwrap。 这里有一个直接链接
  2. 安装sudo dpkg -i rlwrap_0.34-2_amd64.deb
  3. 安装 nodejssudo apt-get install nodejs

答案2

  1. 启用 Universe 存储库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 <[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

以下是我在 Ubuntu 14.04 上安装 node.js 的方法,以及我为什么喜欢以这种方式安装 node 的一些解释。
它涉及添加第三方 PPA - 许多人都使用它,并且似乎是 Ubuntu 上最受欢迎的 node PPA,运行:

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

您将看到一个名为

节点——业余分组无线电节点程序(过渡包)

它是一个老旧的业余无线电软件包,Debian/Ubuntu 在 Ubuntu 存储库中都优先考虑它而不是 nodejs作为命令行参数。
我可能是错的,但我相信 Debain/Ubuntu 可能已经修改了他们的 node 版本,以使用命令nodejs代替正常命令node,以防止两个包之间发生冲突。
我从未打算安装业余无线电版本,所以我选择安装非官方版本,我知道它确实响应命令node,因为我怀疑如果其他 nodejs 相关程序尝试调用node但没有得到响应,发生故障的可能性会更高。

答案4

无论谁尝试在 ubuntu animated (ubuntu bq 平板电脑) 上安装节点:请按照@bekce 的解决方案,只需要注意机器的架构。我的平板电脑是armhf,所以我从以下位置下载rlwraparmhf

wget https://launchpad.net/ubuntu/+source/rlwrap/0.41-1

其余部分相同:

sudo dpkg -i rlwrap_0.34-2_amd64.deb
sudo apt-get install nodejs

相关内容