2017-10-16 14 views
0

私は自分の仕事用ラップトップを使って、仕事以外のオープンソースプロジェクトに貢献しています。職場ではrbenvを使ってRubyのバージョンを管理していますが、オープンソースのプロジェクトでは、gemの依存関係がRubyのインストールフォルダにあると思われます。だから私がプロジェクトのコマンドのいくつかを実行しようとすると、私は不足しているgemエラーに遭遇しています。プロジェクトごとにrbenvではなくsystem Rubyを使用するにはどうすればいいですか?

プロジェクトはHomebrewで、実行しているコマンドはbrew styleです。

RubyGems Environment: 
    - RUBYGEMS VERSION: 2.6.10 
    - RUBY VERSION: 2.3.3 (2016-11-21 patchlevel 222) [x86_64-darwin15] 
    - INSTALLATION DIRECTORY: /Users/richie.thomas/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0 
    - USER INSTALLATION DIRECTORY: /Users/richie.thomas/.gem/ruby/2.3.0 
    - RUBY EXECUTABLE: /Users/richie.thomas/.rbenv/versions/2.3.3/bin/ruby 
    - EXECUTABLE DIRECTORY: /Users/richie.thomas/.rbenv/versions/2.3.3/bin 
    - SPEC CACHE DIRECTORY: /Users/richie.thomas/.gem/specs 
.... 

私は最も簡単なパスが前方になるだろうと他の貢献者から助言を受けてきた:

Ignoring rainbow-2.2.2 because its extensions are not built. Try: gem pristine rainbow --version 2.2.2 
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- rainbow (LoadError) 
from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /Users/richie.thomas/.gem/ruby/2.3.0/gems/rubocop-0.50.0/lib/rubocop.rb:4:in `<top (required)>' 
from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
from /Users/richie.thomas/.gem/ruby/2.3.0/gems/rubocop-0.50.0/bin/rubocop:6:in `<top (required)>' 
from /Users/richie.thomas/.gem/ruby/2.3.0/bin/rubocop:22:in `load' 
from /Users/richie.thomas/.gem/ruby/2.3.0/bin/rubocop:22:in `<main>' 

は以下のgem environmentリターンを実行している:私は私の地元でコマンドを実行すると、私は次の取得しますコマンドを実行するためにrbenvを無効にするかアンインストールしてください。私は本当に、このコマンドを実行するたびにrbenvをアンインストールして再インストールすることを避けたいと思いますが、rbenv documentationには何も記載されていません。

実行できるワンタイムコマンド、または設定が変更できる設定はありますか?私は何をする必要があるのですか?

答えて

0

私はgem environmentを再実行し、次の環境変数が定義されていたことに気づいた。

INSTALLATION DIRECTORY: /Users/richie.thomas/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0 
USER INSTALLATION DIRECTORY: /Users/richie.thomas/.gem/ruby/2.3.0 

INSTALLATION DIRECTORYの値が、私はコマンドを実行するために使用されることを期待したものである、と私はUSER INSTALLATION DIRECTORYの値は気づきましたエラースタックトレースに何が現れましたか。

私は私のマシンがどの変数を使用することを決定したかを把握することができませんでしたので、私は単に~/.gem2/~/.gem/と改名し、私はもともと欲しかっbrew styleコマンドを再実行しました。これは成功しました!

関連する問題