2014-01-15 100 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