使用带有“--path vendor”的bundler,为什么用“:git”指定的gems不在本地销售?

时间:2011-10-20 17:24:39

标签: ruby rubygems gem bundler vendor

我正在使用bundler,并且Gemfile看起来像这样:

source 'http://rubygems.org'
gem 'sinatra', '1.3.1'
gem 'httparty'
# ...etc...
gem 'my_custom_gem', :git => 'git@github.com:me/my_custom_gem.git'

当我运行bundle install时,它会获取必要的宝石,包括我的自定义宝石,并将它们安装在系统gem目录中。到现在为止还挺好。但是,当我尝试将它们提供到项目本地目录中时会出现问题。我跑的时候

bundle install --path vendor

它在我的项目根目录中创建“vendor”目录并在那里安装所有常规gem。所以我看到像

这样的目录
vendor/ruby/1.8/gems/sinatra-1.3.1
vendor/ruby/1.8/gems/httparty-0.8.1
...etc...

但它并不提供使用'git'参数指定的gem。我期待看到,但看不到像

vendor/ruby/1.8/gems/my_custom_gem-1.0.0

它继续使用此gem的系统安装版本。对此有何解释?任何干净的方式来获得这个自定义宝石?

1 个答案:

答案 0 :(得分:1)

现在不支持,希望进入Bundler 1.1:

https://github.com/carlhuda/bundler/issues/67

现在你必须这样做:

cd vendor/ruby/1.8/gems/
git clone git://github.com/foo/foo.git

或类似的