【问题标题】:Error while running bundle in rails 4.2.4在 rails 4.2.4 中运行 bundle 时出错
【发布时间】:2015-11-25 07:12:55
【问题描述】:

我尝试通过 rbenv 运行 bundle,但出现此错误:

/home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require': cannot load such file -- bundler (LoadError)
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/generators/app_base.rb:319:in `bundle_command'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/generators/app_base.rb:335:in `run_bundle'
  from (eval):1:in `run_bundle'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `each'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `invoke_all'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/commands/plugin.rb:23:in `<top (required)>'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/cli.rb:12:in `<top (required)>'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:69:in `require'
  from /home/armyalone/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/bin/rails:9:in `<top (required)>'
  from /home/armyalone/.rbenv/versions/2.2.3/bin/rails:23:in `load'
  from /home/armyalone/.rbenv/versions/2.2.3/bin/rails:23:in `<main>'

然后我尝试了这些命令:

$ gem -v
2.5.0

$ rails -v
Rails 4.2.4

$ bundle -v
Bundler version 1.10.6

$ rbenv -v
rbenv 0.4.0-205-g5fb9c84

为什么我不能运行 bundler?

【问题讨论】:

  • 你能在运行gem list时检查是否有bundler gem吗?
  • 是的,正如问题 bundler 中提到的那样,并且在 gem list 命令的输出中也存在:bundler (1.10.6)

标签: ruby-on-rails ruby bundler rbenv


【解决方案1】:

在终端中运行以下命令

gem install rb-readline

希望对你有帮助!

【讨论】:

  • @Frd 你能改成 sudo apt-get install libreadline-dev 看看它是否有效吗?
  • libreadline-dev 已经是最新版本了。这个库预安装在我的 xubuntu 中,但是在这种情况下这个库的真正用途是什么?我认为这个库是用于管理命令行界面的。
  • @Frd 你可以参考这个vvv.tobiassjosten.net/ruby/readline-in-ruby-with-rbenvlibreadline-dev。你能给我which -a ruby 的输出吗?您也可以尝试在您的 Gemfile 中添加 gem 'rb-readline' 并查看 bundle install 是否有效。
  • WHICH -A RUBY 的输出:/home/armyalone/.rbenv/shims/ruby /home/armyalone/.rbenv/shims/ruby /home/armyalone/.rbenv/shims/ruby跨度>
  • 我也将 gem 'rb-readline' 添加到项目的 gemfile 并使用 BUNDLE INSTALL 再次尝试,但我收到一些新错误,提示 bundler 无法获取一些 gem 文件,但是当我尝试时使用 gem 'gem name' 手动下载该 gem,安装完美。
【解决方案2】:

我将来源从https://rubygems.org 更改为http://rubygems.org 并运行:

gem update --system
bundle install

现在它正在工作。

【讨论】:

  • 不建议使用http://... 代替https://。后者为您提供安全性以保护您的 Ruby 安装。您无法连接很可能是暂时的网络或主机问题,它会自行纠正。
猜你喜欢
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 2012-02-20
  • 2016-09-04
  • 2016-06-01
  • 1970-01-01
  • 2017-08-27
相关资源
最近更新 更多