Ruby 安装在@global gemset中的Gem在其他gemset中不可用

Ruby 安装在@global gemset中的Gem在其他gemset中不可用,ruby,gem,rvm,gemset,Ruby,Gem,Rvm,Gemset,我安装了rvm,然后安装在@global gemset中 $ rvm install 2.2.3 $ rvm use ruby-2.2.3@global $ gem install bropages 当我跑的时候 $ gem list | grep bro bropages (0.1.0) 我可以看到bropages已安装。但当我移动到默认的gemset时,它不可用 $ rvm use ruby-2.2.3@default $ gem list | grep bro # Result is

我安装了
rvm
,然后安装在@global gemset中

$ rvm install 2.2.3
$ rvm use ruby-2.2.3@global
$ gem install bropages
当我跑的时候

$ gem list | grep bro
bropages (0.1.0)
我可以看到bropages已安装。但当我移动到默认的gemset时,它不可用

$ rvm use ruby-2.2.3@default
$ gem list | grep bro # Result is empty
我也试过了

但它也不起作用

在默认gemset中运行
bro
命令会出现此错误

$ bro
/Users/andy/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'bropages' (>= 0) among 7 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/andy/.rvm/gems/ruby-2.2.3 /Users/andy/.rvm/gems/ruby-2.2.3@global:/Users/andy/.rvm/gems/ruby-2.2.3', execute `gem env` for more information
    from /Users/andy/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
    from /Users/andy/.rvm/rubies/ruby-2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
    from /Users/andy/.rvm/gems/ruby-2.2.3@global/bin/bro:22:in `<main>'

您的
GEM\u路径似乎已断开,请运行:

export GEM_PATH=/Users/andy/.rvm/gems/ruby-2.2.3:/Users/andy/.rvm/gems/ruby-2.2.3@global
然后重试:

bro

从默认gemset运行:
echo$GEM\u HOME-$GEM\u PATH
从全局gemset运行:
GEM list-d bro
@mpapis我已使用输出更新了问题。您的
$GEM\u PATH
设置错误,它有一个空格而不是一个空格colon@mpapisrvm推荐的鱼壳脚本中有一个bug。请看我的评论。谢谢。用
替换
GEM\u路径中的“`in
”,为我解决了这个问题。这引发了另一个问题,每次我安装ruby时,rvm都会错误地设置
GEM\u路径。你能告诉我rvm在哪里设置
GEM_PATH
,这样我就可以解决所有红宝石的问题吗?我认为这个问题是由于在鱼壳中使用rvm造成的。我在bashshell中安装了一个新的ruby版本,并且rvm正确地设置了
GEM\u路径。但是当我在fish shell中安装ruby时,
GEM_路径中的
被替换为
`,这会破坏gems.rvm建议的fish shell。我怀疑这一行是罪魁祸首好吧,所以这个问题已经被注意到并在这里修复了补丁在我创建这个问题时没有被接受到上游。该补丁修复了这个问题。
export GEM_PATH=/Users/andy/.rvm/gems/ruby-2.2.3:/Users/andy/.rvm/gems/ruby-2.2.3@global
bro