如何使用 Bundler 添加 gem

Posted

技术标签:

【中文标题】如何使用 Bundler 添加 gem【英文标题】:How to add a gem using Bundler 【发布时间】:2012-02-17 14:07:23 【问题描述】:

错误:回形针不是捆绑包的一部分。将其添加到 Gemfile。 (Gem::LoadError)

要在捆绑列表中添加paperclip gem,我尝试了以下方法:

bundle install paperclip

但又出现错误:

您的捆绑包已完成!它已安装到 ./paperclip 不推荐使用 bundle install 的路径参数。它将在 1.1 版中删除。请改用 bundle install --path 回形针。

请帮助我。

【问题讨论】:

【参考方案1】:

另一种将 gem 添加到包中的方法是运行:

bundle add paperclip

bundle add 命令似乎从 Bundler v1.15 开始支持。

当您运行 bundle add 时,请求的 gem 会添加到 Gemfile 中,并且 bundle install 会自动执行,因此您不必自己运行它。

【讨论】:

如果您希望 Bundler 指定安装在 Gemfile 中的 gem 的确切版本,请在此命令末尾使用 --strict,例如 bundle add paperclip --strict。我强烈建议这样做以避免将来出现任何意外。【参考方案2】:

在您喜欢的文本编辑器中打开Gemfile。添加行gem 'paperclip'。然后运行bundle install

【讨论】:

john douthat 我做了你所说的,发生了以下情况:你的包是完整的!它被安装到 ./paperclip 中。但是里面没有捆绑回形针宝石 我希望将回形针宝石放在我的 Gemfie.lock 中 当您之前运行bundle install paperclip 时,它认为您想将 Gemfile gem 安装到一个名为回形针的文件夹中。它认为您不想安装回形针 gem。要解决此问题,请删除 .bundle/config 文件,这是 bundler 记住要安装到哪个文件夹的位置,并删除 paperclip 文件夹,只是为了清理。然后运行bundle install(不是bundle install paperclip)让事情恢复正常。希望有帮助! 如果这对您不起作用,请将您的 Gemfile 的内容发布到问题中。

以上是关于如何使用 Bundler 添加 gem的主要内容,如果未能解决你的问题,请参考以下文章

使用 bundler,如何解压通过 git 存储库安装的 gem?

在开发过程中如何配置 Bundler/Gemfile 以使用不同的 gem 源?

如何强制 Bundler 重新安装我的所有 gem?

Bundler 找不到 gem 的兼容版本

如何在Rails 3应用程序中将gem添加到我的vendor / cache目录?

Bundler 无法与 rbenv 一起使用,找不到 [gem]