我已经在其他博客和stackoverflow线程中看到过这个问题,但似乎没有人能够得到答案。我正在尝试运行heroku并收到此错误:
/usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/restclient.rb:9:in `rescue in <top (required)>': no such file to load -- net/https. Try running apt-get install libopenssl-ruby (LoadError)
from /usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/restclient.rb:5:in `<top (required)>'
from /usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/rest_client.rb:2:in `require'
from /usr/local/heroku/vendor/gems/rest-client-1.6.1/lib/rest_client.rb:2:in `<top (required)>'
from /usr/local/heroku/lib/heroku/client.rb:2:in `require'
from /usr/local/heroku/lib/heroku/client.rb:2:in `<top (required)>'
from /usr/local/heroku/lib/heroku.rb:3:in `require'
from /usr/local/heroku/lib/heroku.rb:3:in `<top (required)>'
from /usr/local/heroku/lib/heroku/cli.rb:1:in `require'
from /usr/local/heroku/lib/heroku/cli.rb:1:in `<top (required)>'
from /usr/bin/heroku:29:in `require'
from /usr/bin/heroku:29:in `<main>'
问题是libopenssl-ruby已经是最新版本了。
还有其他人遇到过这个问题吗?
答案 0 :(得分:13)
我刚刚在我的ubuntu 10.04上遇到了类似的问题,修复方式如下:
编辑:
更快修复: 检查 / usr / local / heroku / bin / heroku 它使用的ruby版本 我有:
#!/usr/bin/env ruby1.9.1
然后安装正确的lib:
$ sudo apt-get install libopenssl-ruby1.9.1
旧:
安装rvm:http://beginrescueend.com/rvm/install/
要〜/ .bashrc添加:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
运行:
$ source ~/.bachrc
然后:
$ rvm remove 1.9.2
$ rvm pkg install openssl
$ rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr
在运行最后一个命令后我有了这个输出,请注意ruby-1.9.2-p290:
Installing Ruby from source to: /my/home/dir/.rvm/rubies/ruby-1.9.2-p290, this may take a while depending on your cpu(s)
然后编辑 / usr / local / heroku / bin / heroku 在第一线改变:
#!/usr/bin/env ruby1.9.1
要:
#!/usr/bin/env ruby-1.9.2-p290
你可能需要安装一些缺少的库来实现这一切,这将有助于找到什么
$ rvm notes
我希望这会有所帮助。
答案 1 :(得分:0)
我猜这可能是一些权限问题,你应该更好地解释你如何安装你的ruby,然后检查libopenssl-ruby是否是当前用户的路径,如果它不然后将它添加到它的路径,你的接受率很低,这可能是人们选择不回答你的问题的原因