我怎么不捆绑包:路径宝石?

时间:2013-11-05 00:07:33

标签: ruby-on-rails bundler

在我们的项目中,我们跑了 捆绑包 - 所有 一次,根据文档,记住后续调用中的“--all”选项。如果我想通过将其路径硬编码到Gemfile中来测试我项目中的gem,例如: gem'blocks',:path => “/用户/ hunterae /项目/块”, 无论何时我运行bundle install,这个gem的所有源代码都将被复制到我的/ vendor / cache目录中。这意味着如果我对我正在测试的gem进行更改,我必须关闭我的rails服务器并再次运行bundle install,而在“bundle package --all”运行之前,我曾经能够停止并且启动我的rails服务器。

我的问题是如何让“捆绑包”再次包装宝石而不是尝试缓存:路径宝石?捆绑器中记住“--all”选项在哪里?

2 个答案:

答案 0 :(得分:1)

在项目目录的.bundle/config中查找标有BUNDLE_CACHE_ALL: true

的行

删除该行,使其恢复为仅包装标准宝石。

通常,记住的选项存储在.bundle/config

答案 1 :(得分:0)

+1来自Tim Moore的答案。以下是它的补充。

如果可能的话,你应该避免在你的Gemfile中使用:path,如果使用github上可用的gem。从Bundler 1.9开始,你可以使用......像

bundle config local.name_of_gem /path/to/checked_out/repo

这将在〜/ .bundle / config中添加一个条目,如

less ~/.bundle/config
---
BUNDLE_LOCAL__NAME_OF_GEM:     
"/path/to/checked_out/repo/name_of_gem"

您可以使用相同的命令删除配置,包括--delete like

bundle --delete config local.name_of_gem /path/to/checked_out/repo

这将避免许多问题,并且易于维护。