我目前正在尝试运行'bundle install'来使用Gemfile安装基于git的gem,因此使用ruby / other ruby命令而不使用最新版本的RVM(1.14.3)。
我认为问题的原因是捆绑器正在将git gem安装到.rvm / gems / ruby-1.9.3-p194 @ something / bundler / gems中,而所有其他宝石都安装到.rvm / gems / ruby中-1.9.3-p194@something/gems。因此,“捆绑列表”显示了宝石,但“宝石列表”没有。
有什么想法吗?我真的不想使用bundle来执行所有操作。
答案 0 :(得分:6)
Bundler用于将gem与应用程序捆绑在一起。将它用于系统宝石是没有意义的。不幸的是,非捆绑宝石系统没有提供安装基于git的宝石的直接方法(我之前实际上问过这个问题,请参阅Is it possible to directly install a gem from a git repository?)。相反,您必须分三步手动完成:
克隆gem repo(这假设是一个github存储库,但它适用于托管在任何地方的存储库,只需替换正确的git repo位置)。
git clone git://github.com/user/gem.git
转到克隆的gem repo目录并构建gem(这也将检查依赖关系并在安装因缺少依赖关系而失败时发出警告 - 在这种情况下只需安装依赖项并再试一次)。
rake gem
如果那不起作用:
gem build gem.gemspec
这应该创建一个名为pkg/gem-1.2.3.gem
的文件(有时它会像{my}}目录一样构建在这个目录中,有时会在gem repo根目录下构建。您现在可以安装它。
pkg