【问题标题】:Rails: bundler/runtime.rb:in `block in setup': You have already activated activesupportRails: bundler/runtime.rb:in `block in setup': 你已经激活了activesupport
【发布时间】:2016-03-10 19:44:29
【问题描述】:

捆绑更新(部署应用程序)后,我在底部遇到了这个问题, 我在 Deploy Server 上使用 rbenv 和 CentOS。

我还有其他项目正在运行 whiteout 问题。

我尝试运行“bundle exec”、“bundle exec rails s”和“bundle exec puma”,但问题仍然存在。

更新 1:“bundle install --binstubs”运行良好但未解决问题。

更新 2:“在您部署的环境中,删除 Gemfile.lock 文件并进行捆绑安装以修复您的安装”无效。

Uptade 3:儿童问题:Rails: rubygems/dependency.rb:318:in `to_specs': Could not find 'activesupport'

更新 4:“您可以尝试更新您的应用程序用来解决此问题的 activesupport 版本。”没用。

更新5:将项目回滚到旧的git hash后问题没有发生,但最后提交问题仍然存在。

Looks like your app's ./bin/rails is a stub that was generated by Bundler.

In Rails 4, your app's bin/ directory contains executables that are versioned
like any other source code, rather than stubs that are generated on demand.

Here's how to upgrade:

  bundle config --delete bin    # Turn off Bundler's stub generator
  rake rails:update:bin         # Use the new Rails 4 executables
  git add bin                   # Add bin/ to source control

You may need to remove bin/ from your .gitignore as well.

When you install a gem whose executable you want to use in your app,
generate it and add it to source control:

  bundle binstubs some-gem-name
  git add bin/new-executable

WARN: Unresolved specs during Gem::Specification.reset:
      json (>= 1.7.7, ~> 1.7)
      minitest (~> 5.1)
      rack (>= 1.0, ~> 1.6)
      loofah (~> 2.0)
      rails-dom-testing (>= 1.0.5, ~> 1.0)
      thor (< 2.0, >= 0.18.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:34:in `block in setup': You have already activated activesupport 4.2.1, but your Gemfile requires activesupport 4.2.0. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:19:in `setup'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler.rb:92:in `setup'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/bundler-1.11.2/lib/bundler/setup.rb:8:in `<top (required)>'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:126:in `require'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:126:in `rescue in require'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
    from /var/www/html/zadmin/config/boot.rb:3:in `<top (required)>'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:119:in `require'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:119:in `require'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/app_rails_loader.rb:44:in `block in exec_app_rails'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/app_rails_loader.rb:34:in `loop'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/app_rails_loader.rb:34:in `exec_app_rails'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/cli.rb:5:in `<top (required)>'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:67:in `require'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:67:in `require'
    from /home/rails/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.1/bin/rails:9:in `<top (required)>'
    from /home/rails/.rbenv/versions/2.2.1/bin/rails:23:in `load'
    from /home/rails/.rbenv/versions/2.2.1/bin/rails:23:in `<main>'

谢谢!

【问题讨论】:

标签: ruby-on-rails-4 bundler


【解决方案1】:

您可以尝试更新您的应用程序使用的activesupport 版本来解决此问题。

听起来你的系统有activesupportv4.2.1,而你的Gemfile.lock指定v4.2.0。要更新您的Gemfile.lock 指定的activesupport 的版本,请尝试运行以下命令:

bundle update activesupport

另外,您可以尝试通过gem uninstall activesupport 删除系统activesupport gem,然后通过bundle install 重新安装。

【讨论】:

  • 谢谢,但不起作用 -> 重新安装后:在总共 736 个 gem 中找不到 'activesupport' (= 4.2.1) (Gem::LoadError) 但安装成功:捆绑完成! 250 个 Gemfile 依赖项,现在安装了 417 个 gem。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 2016-11-11
  • 2011-10-13
  • 2015-09-19
相关资源
最近更新 更多