「ロードするファイルはありません – net/https」 - Heroku、Ruby、Ubuntu 10.04
概要
この問題が他のブログや 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 がすでに最新バージョンであることです。
他にこの問題に遭遇した人はいますか?
解決策
ubuntu 10.04でも同様の問題が発生したので、次のように修正しました。
編集:
より迅速な修正: /usr/local/heroku/bin/heroku が使用している Ruby のバージョンを確認してください 私が持っていたのは:
#!/usr/bin/env ruby1.9.1
次に、適切なライブラリをインストールします。
$ 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
これがお役に立てば幸いです。