Bundler忽略了--path选项

时间:2015-11-24 16:49:25

标签: ruby-on-rails bundler

我正在使用Bundler 1.10.6,并且我正在尝试设置备用Gemfile,以保留我的团队正在使用的项目Gemfile中的所有调试宝石。

在我的项目中,我有典型的GemfileGemfile.lock文件,并且宝石正在安装​​到vendor/cache目录中。我还有一个Gemfile.localGemfile.local.lock文件,它们将宝石安装到vendor/local目录中。

当我最初设置它时,这很有效,但它似乎不再按预期工作了。

我已经设置了一个bash别名bec(" bundle exec custom"),在运行任何bundle exec命令之前设置BUNDLE_GEMFILE = Gemfile.local,所以如果我运行bec rails s,rails服务器按照预期使用我的vendor / local文件夹中的gem启动。

但是,如果我运行BUNDLE_GEMFILE=Gemfile.local bundle install --path vendor/local,则会将gem安装到默认的vendor/cache目录中。但是,install命令的输出让我很困惑。以下是相关部分(重点补充):

[Bundler fetches gem/version/dependency metadata from my sources]
Resolving dependencies.....................

[Bundler specifies version numbers for all of my gems]
Using gemname 10.0.0
Using gemname 1.5.2.
etc.......

Updating files in vendor/cache     <----- !!!!!!!!
  * gem-5.8.3.gem
  * othergem-1.6.6.4.gem
  * etc...........
Removing outdated .gem files from vendor/cache
  * gem-5.8.2.gem
  * othergem-1.6.6.1.gem
  * etc...........
Bundle complete! 48 Gemfile dependencies, 286 gems now installed.
Bundled gems are installed into ./vendor/local.       <------ ?!?!?

git status然后会在vendor/cache中显示大量已删除且未跟踪的文件。我的vendor/local中有.gitignore,所以没有任何内容可以显示。

我的目标是根本不修改供应商/缓存目录。 --path论证不应该解决这个问题吗?我有一个为我运行此命令的bash别名,但手动执行此操作并不会改变任何内容。我还尝试将--path设置为--path=vendor/local而不是--path vendor/local,但也没有改变。我做错了吗?

0 个答案:

没有答案