我的捆绑文件似乎没有正确地从私有存储库中下载宝石。
在我的Gemfile中,我有:
group :internal do
gem 'private', git: 'ssh://git@internalserver.org:<port>/gems/private.git'
end
运行,详细日志记录生成:
Updating ssh://git@internalserver.org:<port>/gems/private.git
Cloning into '/Users/<username>/.rvm/gems/ruby-2.0.0-p247/bundler/gems/private-ddec73caf50f'...
done.
当我导航到/Users/<username>/.rvm/gems/ruby-2.0.0-p247/bundler/gems/
时,我看到正确克隆了正确的存储库,其中gemspec具有正确的名称。
当捆绑程序运行完毕后,gem list
不显示private
gem。当我试图要求它时会产生错误。
我尝试删除存储库中的Gemfile.lock文件并重新运行,但这不起作用。 Gemfile中的所有公共gem都正确安装。
相关版本号/软件:
答案 0 :(得分:2)
Git gems是Rubygems特有的Bundler特定扩展。 gem
命令不知道这些,因此gem list
没有列出它们。您可以运行bundle show
来查看Bundler识别的宝石列表,其中包括git gems。
要求gem,您需要确保Bundler正确设置了加载路径。有三种方法可以做到这一点:
require 'bundler/setup'
。这是Rails应用程序的典型特征。 More on Bundler.setup
bundle exec <command>
运行命令。从gem运行命令时更常见,例如rake
或rspec
。 More on bundle exec
有关git gems的更多信息,请参阅http://bundler.io/v1.5/git.html。