我正在尝试在我的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
任何想法我现在应该做什么?
答案 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。