1

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

我的问题是如何让“捆绑包”再次只打包 gems 而不是尝试缓存:path gems?捆绑程序中记住的“--all”选项在哪里?

4

2 回答 2

1

.bundle/config在您的项目目录中查找显示BUNDLE_CACHE_ALL: true.

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

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

于 2013-11-09T04:52:49.350 回答
0

+1 对蒂姆·摩尔的回答。以下是对它的补充。

如果可能并且使用 github 上可用的 gem,您应该避免在 Gemfile 中使用 :path。从 Bundler 1.9 开始,您可以使用 sth。喜欢

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

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

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

于 2015-05-13T08:39:38.397 回答