“找不到捆绑器”错误


107

当我尝试执行bundler update此操作时,出现以下错误:

.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in
`to_specs': Could not find bundler (>= 0) amongst
[rake-0.8.7, rake-0.8.7, rubygems-update-1.8.4] (Gem::LoadError)

我是Ruby的新手,有人可以告诉我这是什么原因吗?Rake 0.8.7已安装。


1
0下投表示您没有安装捆绑软件。如果执行“宝石列表b”,您会看到捆绑程序吗?
Jake Dempsey)

Answers:


214

如果您已安装捆绑包gem,请确保输入的是“捆绑包”更新。

bundle update

如果您尚未安装捆绑器,请执行gem install bundler


如果创建新的分配-新建轨道,并且出现此错误?
AMIC MING

2
做一个gem list bundler,看看它是否出现。如果没有,则需要按照我的答案中的说明进行安装。
ardavis 2013年

10
在使用rvm安装了新版本的ruby之后,这对我来说是发生了。然后,我不得不gem install bundler再次跑步
-NRR

61

我遇到了这个问题,然后我做了:

gem install bundle

注意“捆绑”不是“捆绑”解决了我的问题。

然后在您的项目文件夹中执行以下操作:

bundle install

然后您可以使用以下命令运行项目:

script/rails server

gem install软件包-这对我也是如此。
唐·科特

10
注意,“ bundle” gem只是将“ bundler”声明为依赖项的gem,从根本上解决了您的错字。github.com/will/bundle/blob/…–
sealocal



8

命令为bundle update(“捆绑包”中没有“ r”)。

要检查是否安装了捆绑软件,请执行:gem list bundler或什which bundle至命令,该命令将列出捆绑软件版本或其路径。如果未显示任何内容,请通过键入安装捆绑程序gem install bundler


7

我遇到了同样的问题..我的bash配置文件发生了某些事情,未能正确设置RVM。

确保您的bash个人资料包含以下行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

然后我运行“ source〜/ .bash_profile”,然后重新加载了bash配置文件中的所有内容。

那似乎为我解决了。


谢谢你 当我知道如何拼写“ bundle” vs“ bundler”时,我完全忘记了我重新安装了zsh,并且在此过程中不小心将这行内容从我的.zshrc中吹了出来。一段时间以来一直在拉扯我的头发:)
rmurphey 2012年

这个答案很旧,但对我来说,就是解决方案!
jonnyjava.net,2016年

确保这是您的配置文件中的最后一行
rmcsharry18年


4

您可能必须先执行“ rvm use 1.9.2”之类的操作,才能使用正确的红宝石和宝石集。您可以通过执行“哪个红宝石”来检查正在使用的红宝石


2

升级到ruby 2.1.0之后,我得到了这个。我PATH在登录脚本中设置为include .gem/ruby/2.0.0/bin。更新版本号将其修复。


2

系统可能正在“无根”运行。尝试将固件nvram变量b​​oot-args设置为“ rootless = 0”。尝试运行一组命令:

sudo nvram boot-args="rootless=0"; 
sudo reboot

重新启动完成后,运行:

sudo gem install bundler

2

如果您使用的是rbenv跑步,则rbenv rehash可以在安装解决此bundler问题,但仍然会遇到问题。



1

对于Capistrano遇到此问题的任何人:capistrano无法找到bundler。原因可能是您将捆绑器安装gemset在Capistrano甚至看不到的其他地方。

  1. 列出您的宝石集。

rvm gemset列表

  1. 使用特定的宝石集。

rvm使用'my_get_set'

  1. 在该gemset下安装捆绑程序。

gem安装捆绑器

然后,再次尝试部署任务。


0

就我而言,我相信我的系统上仍保留有旧的Ruby,未在rvm上注册,即使路径变量和gem列表尚可,在Capistrano部署期间它仍将使用旧的Ruby。

然后我意识到,我用rvm安装的Ruby没有设置为默认值。跑步

rvm alias create default <rvm_registered_ruby>

解决它。


0

以防万一,我对捆绑器2.1.2遇到类似的错误,并使用以下方法解决了该问题:

sudo gem install bundler -v 1.17.3

如果安装了多个捆绑软件版本,则可以通过以下方式运行捆绑软件的特定版本: bundle _1.17.3_ exec rspec

虽然似乎更高版本的捆绑软件似乎有很多错误(在2个操作系统上的3个不同项目中都有问题),但拥有一个旧的捆绑软件可能效果最好,至少这是我在Ubuntu和MacOS上拥有的

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.