もはやgem Push …
できないことを発見し、掘り下げてRVM SSL証明書を更新する必要に至りました。
私はrvm osx-ssl-certs status all
を実行しましたが、それは私に与えました:
/Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/site_Ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': dlopen(/Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle, 9): Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError)
Referenced from: /Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle
Reason: image not found - /Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle
from /Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/site_Ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/2.0.0/openssl.rb:17:in `<top (required)>'
from /Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/site_Ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Users/davesag/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/site_Ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
Certificates for : Old.
Certificates for /etc/openssl/cert.pem: Up to date.
rvm -v
は、最新のRVMを実行していることを示しています(今日現在)
rvm 1.22.15 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
奇妙なことに、なぜRuby-2.0.0-p195
を参照しているのかわかりませんが、rvm list
は
rvm rubies
Ruby-1.9.3-p392 [ x86_64 ]
Ruby-2.0.0-p195 [ x86_64 ]
=* Ruby-2.0.0-p247 [ x86_64 ]
これを修正する方法はありますか?
あなたの質問には3つのパスがあります/opt/local
、/usr/local
および/etc/openssl
これらは、それぞれMacports、HomebrewおよびSM Frameworkに属します。
最後のものは静的ルビーの作成に使用されるため、無害であり、問題とは関係ありません。他の2つは、ルビーのインストールの間にmacportsからhomebrewに切り替えたことを示唆しています。
再インストールする必要がありますRuby-2.0.0-p195
は、まだmacportsからの古いパスを参照していますが、次のようにして実行できます。
rvm reinstall Ruby-2.0.0-p195
実行に使用されるルビーとopensslパスの詳細を取得できます。
rvm --debug osx-ssl-certs update all
Opensslをアンインストールして再インストールするとうまくいきました。
brew remove openssl
その後
brew install openssl
「バンドル」を実行しようとすると、パスが少し異なりますが、openssl dylibの苦情も出始めました。私はこれらのほとんどと他のいくつかを試しました。私はrvmとfinkインストールの壊れた残骸を持っていましたが、しばらく前にbrewに置き換えようとしました。何回も
Library not loaded: /sw/lib/libssl.1.0.0.dylib
ただし、常に生成されたbrewでopensslを再インストールしようとしています
Sudo brew link openssl
Warning: openssl is keg-only and must be linked with --force
Note that doing so can interfere with building software.
または
Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
だから私がすべきことはかなり混乱していた。試行錯誤の末、最終的には次のように思われました。
$ rm /Users/dan/.rvm/rubies/default/lib/Ruby/1.9.1/x86_64-darwin11.4.0/openssl.bundle
存在しない/sw/lib/libssl.1.0.0.dylibファイルへの参照がありました。それから
$ Sudo brew update && Sudo brew upgrade
$ rvm reset
バージョンを1.9.1から
$ Ruby --version
Ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
その時点でバンドラーを再インストールする必要がありました(?)
$ gem install bundler
しかし、最終的にプロジェクトで「バンドル」を実行でき、動作するように見えました。
私の場合、バンドル時のRubyバージョン:
やった:
rvm list
出力:
Ruby-1.9.3-p448 [ x86_64 ]
Ruby-2.0.0-p247 [ x86_64 ]
Ruby-2.0.0-p353 [ x86_64 ]
Ruby-2.0.0-p451 [ x86_64 ]
そして、Ruby-2.0.0-p451
に変更しました:
rvm use Ruby-2.0.0-p451
そして:
bundle
バンドルは正常に完了しました;)