升级到Nodejs 8和"错误:无法提交事务"

时间:2017-07-09 20:22:11

标签: node.js linux archlinux

我正在尝试在我的arch linux中将nodejs 6升级到8。所以我做了:

$ sudo pacman -S nodejs npm

结果:

resolving dependencies...
looking for conflicting packages...

Packages (3) openssl-1.0-1.0.2.l-1  nodejs-8.1.3-1  npm-4.6.1-1

Total Installed Size:  39.22 MiB
Net Upgrade Size:       6.79 MiB

:: Proceed with installation? [Y/n] y
(3/3) checking keys in keyring                                                                                    [####################################################################] 100%
(3/3) checking package integrity                                                                                  [####################################################################] 100%
(3/3) loading package files                                                                                       [####################################################################] 100%
(3/3) checking for file conflicts                                                                                 [####################################################################] 100%
error: failed to commit transaction (conflicting files)
openssl-1.0: /usr/lib/libcrypto.so.1.0.0 exists in filesystem
openssl-1.0: /usr/lib/libssl.so.1.0.0 exists in filesystem
Errors occurred, no packages were upgraded.

现在我觉得我的nodejs坏了!

$ node --version
node: error while loading shared libraries: libhttp_parser.so.2.7.1: cannot open shared object file: No such file or directory

任何想法我现在应该做什么?

1 个答案:

答案 0 :(得分:3)

我有同样的问题,这就是我如何解决它:

sudo pacman -S nodejs npm --force

选项--force会升级您的包,即使您收到现有文件的警告。

在此之后你需要用pacman安装http-parser:

sudo pacman -S http-parser --force

最后,节点-v会给你这个错误:

  加载共享库时出现

错误:libicui18n.so.59:无法打开共享对象文件:没有这样的文件或目录

要修复它,请从pacman安装icu lib:

sudo pacman -S icu --force

我们开始,你的节点版本现在是v8.4.0。