2014-01-15 121 views
0

我们使用CentOS作为Bamboo on demand的弹性生成代理。 最近我们利用grunt来处理我们的JavaScript文件。所以我试图在启动脚本中安装npm和grunt。在Amazon CentOS上使用yum安装Node.js - libssl错误

原液从https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

curl -O http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 
sudo rpm -ivh epel-release-6-8.noarch.rpm 
sudo yum install npm --enablerepo=epel 
npm install -g grunt 
npm install -g grunt-cli 

采取和它的工作了一段时间。但后来它在yum上开始失败,错误与错过libssl.so.10相关。

我检查了系统中存在的libssl.so.10。

百胜安装libssl.so.10 - >

包已经安装的OpenSSL 1.0.0g-1.26.amzn1.i686和最新版本
无关

百胜安装libcrypto.so.10 - >已经安装 包openssl-1.0.0g-1.26.amzn1.i686和最新版本
无关

百胜安装的NodeJS - >

错误:程序包:nodejs-0.10.24-1.el6.i686(epel) 需要:libcrypto.so.10(libcrypto.so.10)
错误:程序包:nodejs-0.10.24-1.el6。 i686的(EPEL) 要求:libssl.so.10(libssl.so.10)

最有趣的部分是在同一台机器上我绝对成功地利用

git clone http://github.com/joyent/node.git 
cd node 
./configure 
make 
make install 

最终需要编译来源节点在每个弹性代理启动时,过多的时间来制作nodejs。所以我仍然在寻找一种方法来用yum安装node.js。你能提供关于评估方向的任何想法吗?

也许还有其他方法可以在CentOS上安装npm和grunt?

+0

你有没有找到这个问题的解决方案?我遇到了同样的问题,删除并安装libcrypto和libssl没有帮助。 – MarkNS

+0

我们正在迁移到Ubuntu而不是 –

+0

另外我设法从github克隆node.js,并使其与make(它很慢 - 大约需要30分钟),但它的工作 –

回答

1

当你开始给你提出问题时,你是如何移除node.js的?尝试强制移除ssl和加密包并重新安装它们。

yum remove libssl.so.10 
yum remove libcrypto.so.10 
yum install libssl.so.10 
yum install libcrypto.so.10 

听起来好像你的库文件不存在,当你得到的错误,但转速本身安装。您必须先删除rpm,然后才能重新安装。

+0

我我在AWS上使用Atlassian库存图像获取弹性代理。在每个代理启动时,我从干净的CentOS开始,并在代理启动脚本中设置所有依赖项。但是在向yum添加epel回购之后尝试强制重新安装是个好主意。 –

+0

只要清理与node.js相关的所有内容,就应该没问题。 – Rico