刚刚在云中购买了一个全新的虚拟服务器,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 中遇到了完全相同的问题。解决方案:
- 下载
rlwrap
自http://packages.ubuntu.com/trusty/rlwrap。 这里有一个直接链接 - 安装
sudo dpkg -i rlwrap_0.34-2_amd64.deb
- 安装 nodejs
sudo apt-get install nodejs
答案2
- 启用 Universe 存储库
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
以下是我在 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
,所以我从以下位置下载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