当我尝试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。
答案 0 :(得分:205)
如果您安装了bundler gem,请确保输入“bundle”更新。
bundle update
如果您没有安装捆绑包,请执行gem install bundler
。
答案 1 :(得分:58)
我有这个问题,然后我做了:
gem install bundle
注意“捆绑”而非“捆绑”解决了我的问题。
然后在你的项目文件夹中执行:
bundle install
然后您可以使用以下命令运行项目:
script/rails server
答案 2 :(得分:13)
我遇到了同样的问题。这对我有用:
运行rvm / script / rvm并将其添加到.profile或.bash_profile,如https://rvm.io/rvm/install/
使用不带sudo的包
答案 3 :(得分:10)
如果您使用的是rvm,请尝试以下命令:
rvmsudo gem install bundler
根据另一个问题:Could not find rails (>= 0) amongst [] (Gem::LoadError)
希望它有所帮助, 干杯
答案 4 :(得分:8)
命令为bundle update
(“捆绑”中没有“r”。
要检查是否安装了bundler,请执行:gem list bundler
甚至which bundle
,该命令将列出bundler版本或其路径。如果未显示任何内容,请键入gem install bundler
。
答案 5 :(得分:7)
我遇到了同样的问题..我的bash配置文件发生了一些事情,但没有正确设置RVM内容。
确保您的bash配置文件包含以下行:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
然后我运行了“source~ / .bash_profile”并重新加载了我的bash配置文件中的所有内容。
这似乎解决了我。
答案 6 :(得分:6)
答案 7 :(得分:4)
您可能必须首先执行“rvm use 1.9.2”之类的操作,以便使用正确的ruby和gemset。您可以通过“which ruby”
来检查您正在使用的红宝石答案 8 :(得分:3)
如果您使用rbenv
,运行rbenv rehash
可以解决此问题 ,那么您已经安装了bundler
并仍然遇到问题。
答案 9 :(得分:2)
升级到ruby 2.1.0后我得到了这个。我的登录脚本中设置了PATH
以包含.gem/ruby/2.0.0/bin
。更新版本号修复了它。
答案 10 :(得分:2)
系统可能正在运行“无根”。尝试将固件nvram变量boot-args设置为“rootless = 0”。 尝试运行一组命令:
sudo nvram boot-args="rootless=0";
sudo reboot
重启完成后,运行:
sudo gem install bundler
答案 11 :(得分:1)
在我的机器上设置新的 Bundler gem 版本 (2.2.11
) 时,我也有同样的担忧。
我收到以下错误:
/home/username/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems.rb:277:in `find_spec_for_exe': Could not find 'bundler' (2.2.11) required by your /home/username/Projects/my_project/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.2.11`
17: from /home/username/.rbenv/versions/2.7.2/bin/rspec:23:in `<main>'
16: from /home/username/.rbenv/versions/2.7.2/bin/rspec:23:in `load'
15: from /home/username/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/exe/rspec:4:in `<top (required)>'
14: from /home/username/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in `invoke'
我是如何做到的:
首先,我已经安装了 Bundler gem 2.2.11
并将其设为默认 gem:
gem install --default bundler -v 2.2.11
接下来,我列出了我的 Bundler 版本:
gem list bundler
最后,我更新了我的 gems 以使用新安装的 Bundler:
gem update --system
仅此而已。
我希望这会有所帮助
答案 12 :(得分:1)
对于遇到Capistrano问题的任何人:capistrano无法找到bundler
。原因可能是您在Capistrano甚至不看的其他gemset
下安装了捆绑包。
rvm gemset list
rvm使用&#39; my_get_set&#39;
gem install bundler
然后,再次尝试使用部署任务。
答案 13 :(得分:1)
如果您在另一个bundle exec
内运行命令,则可以与https://github.com/bundler/bundler-features/issues/34相关联。如果是这种情况,请尝试使用Bundler.with_original_env
。
答案 14 :(得分:0)
在我的情况下,我相信我有一个旧的Ruby留在系统上,没有在rvm上注册,即使路径变量和gem列表没问题,它仍然会在使用Capistrano的部署期间使用旧的Ruby
然后我意识到,我用rvm安装的Ruby并没有设置为默认值。运行
rvm alias create default <rvm_registered_ruby>
修正了它。
答案 15 :(得分:0)
以防万一,我在捆扎机2.1.2上遇到类似的错误,并使用以下方法解决了该问题:
sudo gem install bundler -v 1.17.3
如果安装了多个捆绑软件版本,则可以通过以下方式运行捆绑软件的特定版本:bundle _1.17.3_ exec rspec
虽然似乎更高版本的捆绑器版本存在错误(在2个操作系统的3个不同项目中都有问题),但使用一个旧的捆绑器可能效果最好,至少这是我在Ubuntu和MacOS上拥有的
最新的捆绑程序版本可能会覆盖稳定的捆绑程序-v 1.17.3。 从系统中删除最新的捆绑器并非易事,这对我有帮助:
bundler.rb
中删除bundler
和ruby -e 'puts $LOAD_PATH'
文件夹答案 16 :(得分:0)
我通过删除Gemfile.lock
和gem install bundler:2.2.0