0

我有unicorn 4.5.0并且在我这样做之后bundle update,即使我想使用最新版本,我也会观察到同一个 gem 的不同版本。

unicorn (4.6.1, 4.5.0)

如何指示捆绑程序仅保留最新版本。

4

2 回答 2

1

您可以通过将一个版本放入 gem 文件中来指示 bundler 只使用一个版本。有时,我会与 rake 发生冲突,即使我的 Gemfile 中没有明确包含 rake,所以我不得不将所有其他 gem 可以使用的 rake 版本放在我的 Gemfile 的顶部。

如果您的问题是您曾经使用 unicorn 4.5.0,而现在它已经在您的本地 gem 源中安装了 unicorn 4.6.1,您可以告诉 gem 卸载您不再需要的版本。

gem uninstall unicorn --version 4.5.0

如果你做了一个 bundle --deployment 并填充了 vendor/bundle 目录,那是你要从中删除 gem 的地方,那么我通常只是删除 gem 目录,但是,我认为你可以使用 --path 运行 bundle,如下所示:

bundle --deployment --path vendor/bundle
gem uninstall unicorn --version 4.5.0

当你运行 bundler 时,它会记住设置。关于 --without 开关,我痛苦地发现了这一点。--path 设置将告诉 gem 使用本地供应商/捆绑目录作为本地 gem 源。请记住通过再次运行 bundle 来设置路径。

于 2013-02-24T13:16:39.433 回答
1

据我所知,您不能指示捆绑程序在更新时仅保留最新版本。您可以一次性删除所有 gem 的所有旧版本:

bundle exec gem cleanup

(参考)

于 2013-02-24T13:20:00.673 回答