使用带有RVM的git gems的"bundle install"时,'gem list'找不到宝石

Mic*_*ser 4 ruby git gem bundler rvm

我目前正在尝试运行'bundle install'来使用Gemfile安装基于git的gem,因此使用ruby/other ruby​​命令而不使用最新版本的RVM(1.14.3).

我相信问题的原因是bundler将git gem安装到.rvm/gems/ruby​​-1.9.3-p194 @ something/bundler/gems中,而所有其他gem都安装到.rvm/gems/ruby​​-1.9中. 3-P194 @东西/宝石.因此,'捆绑列表'显示了宝石,但'宝石列表'没有.

这有什么想法?我真的不想使用bundle来执行所有操作.

Ben*_*Lee 6

Bundler用于将gem与应用程序捆绑在一起.将它用于系统宝石是没有意义的.不幸的是,非捆绑宝石系统没有提供安装基于git的宝石的直接方法(我之前实际上问过这个问题,请参阅是否可以直接从git存储库安装gem?).相反,您必须分三步手动完成:

  1. 克隆gem repo(这假设是一个github存储库,但它适用于托管在任何地方的存储库,只需替换正确的git repo位置).

    git clone git://github.com/user/gem.git
    
    Run Code Online (Sandbox Code Playgroud)
  2. 转到克隆的gem repo目录并构建gem(这也将检查依赖关系,并在安装因缺少依赖关系而失败时发出警告 - 在这种情况下只需安装依赖项并再试一次).

    rake gem
    
    Run Code Online (Sandbox Code Playgroud)

    或者,如果这不起作用:

    gem build gem.gemspec
    
    Run Code Online (Sandbox Code Playgroud)
  3. 这应该创建一个名称相似的文件pkg/gem-1.2.3.gem(有时它将在这样的pkg目录中构建,有时它将构建在gem repo根目录中).您现在可以安装它.

    gem install pkg/gem-1.2.3.gem
    
    Run Code Online (Sandbox Code Playgroud)