2017-05-23 10 views
-1

Rubyを更新しました。私はCLIでRubyのバージョンを要求すると、それは動作しますが、私は宝石のバージョンを要求する場合、それは次のエラーが返されます。新しくインストールされたRubyのバグ(暗黙的にStringにnilを変換しない)

C:/Ruby23/lib/ruby/2.3.0/rubygems/config_file.rb:90:in `join': no implicit conversion of nil into String (TypeError)

エラーは、Windows上のポータブル版で、だけでなく、インストールに記載されていますバージョン。

Rubyの動作バージョンを実行するにはどうすればよいか分かりません。誰かが既にこのバグを持っているか、これを解決する手がかりを持っていますか?

答えて

0

正確なエラーメッセージ「nilを暗黙的にStringに変換しない」を検索したところ、最終的には解決策が見つかった(ベストではないかもしれない)。

私はライン90に置き換えますと

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH, 'gemrc'

を:

SYSTEM_CONFIG_PATH`は環境変数ではありません `、それは` RubyGemsの/ config_file.rb`
1

あなたは何とかSYSTEM_CONFIG_PATH

変数環境を設定する必要があります。ここrubygems/config_file.rbのライン90です:

SYSTEM_CONFIG_PATHがnilの場合に失敗し
SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH, 'gemrc' 

+0

それでは、SYSTEM_CONFIG_PATHの正しい値は何でしょうか? SteveTurczynが言っていたように、私はこれが環境変数でなければならないとは思っていません(1.8.7の移植版ではすべてがOKでした)。 – SteveTurczyn

+0

の86を介してライン61に定義されています

SYSTEM_WIDE_CONFIG_FILE = File.join SYSTEM_CONFIG_PATH.to_s, 'gemrc'

+0

SYSTEM_CONFIG_PATHはEtc.sysconfdirに由来します。https://ruby-doc.org/stdlib-2.3.0/libdoc/etc/rdoc/Etc.html#method-c-sysconfdirを参照してください。値は、ルビそのマシンでコンパイルされました。私は最初のステップとして、ルビーの再インストールを試みます。 – SteveTurczyn

関連する問題