Sha*_*ash 9 dpkg software-installation
我正在尝试安装 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)
Run Code Online (Sandbox Code Playgroud)
Mic*_*ker 10
正如查尔斯在评论中所说,我会尝试运行sudo apt-get update和sudo apt-get upgrade. 您可能还想运行sudo apt-get autoremove以删除不再需要的包。
错误提到了nodejs-legacy包。如果您曾经安装过它,则可能需要将其删除。
除非你正在使用您的计算机作为一个生产服务器的规划,我强烈建议使用安装Node.js的NVM工具。从存储库安装需要您使用sudo,当您尝试使用 NPM安装 Node 模块时,这会导致权限混乱。
作为奖励,NVM 允许您安装多个版本的 Node,并让您保持 Node 的副本是最新的,即使官方存储库已落后。
获取 NVM 的最新副本
curl https://raw.githubusercontent.com/creationix/nvm/v0.15.0/install.sh | bash
Run Code Online (Sandbox Code Playgroud)
告诉你的外壳使用 nvm
source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)
然后安装一个节点版本
nvm install 0.10
Run Code Online (Sandbox Code Playgroud)
并告诉 nvm 你想使用哪个版本的 Node
nvm use 0.10
Run Code Online (Sandbox Code Playgroud)
我错过的一件事是清除以前的安装并重新安装。我使用以下命令删除以前的安装
sudo apt-get purge nodejs-legacy nodejs
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)
重新安装nodejs。
链接对我有帮助的 SO 答案
| 归档时间: |
|
| 查看次数: |
12557 次 |
| 最近记录: |