Rails未初始化的常量Bundler(NameError)

时间:2014-04-17 10:11:44

标签: ruby-on-rails bundler

我在运行rails srails c之类的任何rails命令时收到以下错误,它还会阻止我的heroku应用启动(同样的错误):

app/config/application.rb:7:in `<top (required)>': uninitialized constant Bundler (NameError)
from /Users/you/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in `require'

错误消息中的第7行是:

Bundler.require(:default, Rails.env)

执行bundle exec rails s命令成功,但这对heroku应用程序没有帮助。我已经验证了which rubywhich railswhich bundler。我还尝试启动一个新的rvm gemset并重新安装捆绑包。 heroku错误是相同的:

 /app/config/application.rb:7:in `<top (required)>': uninitialized constant Bundler (NameError)

运行bundle check不会返回任何问题。

一些类似的问题表明了这一点:

 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

但我尝试了它并没有改变。我在Rails 4上

编辑:

我在另一个应用程序中工作并运行rails g model并弹出:

Bundler is using a binstub that was created for a different gem.
This is deprecated, in future versions you may need to `bundle binstub rails` to work around a system/bundle conflict.

的Gemfile

source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.3'
gem 'sass-rails', '~> 4.0.1'
gem 'uglifier'
gem 'coffee-rails'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder'
gem 'bcrypt-ruby'
gem "geocoder"
gem 'gmaps4rails'
gem "paperclip"
gem 'route_translator'
gem 'aws-sdk'
gem 'ckeditor'
gem 'soundcloud'
gem 'omniauth-facebook'
gem 'twitter'
gem 'pg'
gem 'unicorn'
gem 'sass'
gem 'compass', '0.12.2'
gem 'font-awesome-rails'
gem 'acts-as-taggable-on'
gem 'json', '1.7.7'
gem 'figaro'

#for mailchimp api
gem 'gibbon'

#for deploying
gem 'capistrano', '~> 3.0.1'
gem 'capistrano-rails', '~> 1.1.0'
gem 'capistrano-bundler'
gem 'capistrano-rbenv', '~> 2.0'
gem 'exception_notification'
gem 'textacular'
gem 'mail_form'
gem 'dumper'

group :doc do
  gem 'sdoc', require: false
end

# development gems
group :development, :test do
       # env variables
  gem "faker"
end

# Paging
gem 'kaminari'
gem 'will_paginate-bootstrap', '~> 1.0.0'

# Slugs and friendly id's
gem 'friendly_id'

# font-awesome
gem 'font-awesome-sass', '~> 4.0.2'

# production gems for heroku
group :production do
  gem 'rails_12factor'
  gem 'therubyracer'
  gem 'execjs'
end


# Devise
gem 'devise'


gem 'chosen-rails'


# Bootstrap 3
group :development, :test do
  gem 'rails_layout'  # Bootstrap 3 layout generator
end

gem 'bootstrap-sass', '~> 3.0.3.0'   


# RSpec
group :test, :development do
  gem "rspec-rails"
  gem "factory_girl_rails"
end

# Capybara
group :test do
  gem "capybara"
  gem 'email_spec'
end

Gemfile.lock的

GEM

  remote: https://rubygems.org/
  specs:
    actionmailer (4.0.3)
      actionpack (= 4.0.3)
      mail (~> 2.5.4)
    actionpack (4.0.3)
      activesupport (= 4.0.3)
      builder (~> 3.1.0)
      erubis (~> 2.7.0)
      rack (~> 1.5.2)
      rack-test (~> 0.6.2)
    activemodel (4.0.3)
      activesupport (= 4.0.3)
      builder (~> 3.1.0)
    activerecord (4.0.3)
      activemodel (= 4.0.3)
      activerecord-deprecated_finders (~> 1.0.2)
      activesupport (= 4.0.3)
      arel (~> 4.0.0)
    activerecord-deprecated_finders (1.0.3)
    activesupport (4.0.3)
      i18n (~> 0.6, >= 0.6.4)
      minitest (~> 4.2)
      multi_json (~> 1.3)
      thread_safe (~> 0.1)
      tzinfo (~> 0.3.37)
    acts-as-taggable-on (3.1.1)
      actionpack (>= 3, < 5)
      activerecord (>= 3, < 5)
      activesupport (>= 3, < 5)
    addressable (2.3.6)
    arel (4.0.2)
    aws-sdk (1.38.0)
      json (~> 1.4)
      nokogiri (>= 1.4.4)
      uuidtools (~> 2.1)
    bcrypt (3.1.7)
    bcrypt-ruby (3.1.5)
      bcrypt (>= 3.1.3)
    bootstrap-sass (3.0.3.0)
      sass (~> 3.2)
    builder (3.1.4)
    capistrano (3.0.1)
      i18n
      rake (>= 10.0.0)
      sshkit (>= 0.0.23)
    capistrano-bundler (1.1.2)
      capistrano (~> 3.0)
      sshkit (~> 1.2)
    capistrano-rails (1.1.0)
      capistrano (>= 3.0.0)
      capistrano-bundler (>= 1.0.0)
    capistrano-rbenv (2.0.1)
      capistrano (~> 3.0)
      sshkit (~> 1.3)
    capybara (2.2.1)
      mime-types (>= 1.16)
      nokogiri (>= 1.3.3)
      rack (>= 1.0.0)
      rack-test (>= 0.5.4)
      xpath (~> 2.0)
    chosen-rails (1.1.0)
      coffee-rails (>= 3.2)
      compass-rails (>= 1.1.2)
      railties (>= 3.0)
      sass-rails (>= 3.2)
    chunky_png (1.3.0)
    ckeditor (4.0.11)
      mime-types
      orm_adapter (~> 0.5.0)
    climate_control (0.0.3)
      activesupport (>= 3.0)
    cocaine (0.5.4)
      climate_control (>= 0.0.3, < 1.0)
    coffee-rails (4.0.1)
      coffee-script (>= 2.2.0)
      railties (>= 4.0.0, < 5.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.7.0)
    compass (0.12.2)
      chunky_png (~> 1.2)
      fssm (>= 0.2.7)
      sass (~> 3.1)
    compass-rails (1.1.7)
      compass (>= 0.12.2)
      sprockets (<= 2.11.0)
    devise (3.2.4)
      bcrypt (~> 3.0)
      orm_adapter (~> 0.1)
      railties (>= 3.2.6, < 5)
      thread_safe (~> 0.1)
      warden (~> 1.2.3)
    diff-lcs (1.2.5)
    dumper (1.5.0)
      multi_json (>= 1.0)
      multipart-post (>= 1.1.5)
      posix-spawn (>= 0.3.6)
    email_spec (1.5.0)
      launchy (~> 2.1)
      mail (~> 2.2)
    erubis (2.7.0)
    exception_notification (4.0.1)
      actionmailer (>= 3.0.4)
      activesupport (>= 3.0.4)
    execjs (2.0.2)
    factory_girl (4.4.0)
      activesupport (>= 3.0.0)
    factory_girl_rails (4.4.1)
      factory_girl (~> 4.4.0)
      railties (>= 3.0.0)
    faker (1.3.0)
      i18n (~> 0.5)
    faraday (0.9.0)
      multipart-post (>= 1.2, < 3)
    figaro (0.7.0)
      bundler (~> 1.0)
      rails (>= 3, < 5)
    font-awesome-rails (4.0.3.1)
      railties (>= 3.2, < 5.0)
    font-awesome-sass (4.0.3.1)
      sass (~> 3.2)
    friendly_id (5.0.3)
      activerecord (>= 4.0.0)
    fssm (0.2.10)
    geocoder (1.2.0)
    gibbon (1.1.2)
      httparty
      multi_json (>= 1.3.4)
    gmaps4rails (2.1.2)
    hashie (2.1.1)
    hike (1.2.3)
    httmultiparty (0.3.14)
      httparty (>= 0.7.3)
      mimemagic
      multipart-post
    httparty (0.11.0)
      multi_json (~> 1.0)
      multi_xml (>= 0.5.2)
    i18n (0.6.9)
    jbuilder (2.0.6)
      activesupport (>= 3.0.0, < 5)
      multi_json (~> 1.2)
    jquery-rails (3.1.0)
      railties (>= 3.0, < 5.0)
      thor (>= 0.14, < 2.0)
    json (1.7.7)
    jwt (0.1.11)
      multi_json (>= 1.5)
    kaminari (0.15.1)
      actionpack (>= 3.0.0)
      activesupport (>= 3.0.0)
    kgio (2.9.2)
    launchy (2.4.2)
      addressable (~> 2.3)
    libv8 (3.16.14.3)
    mail (2.5.4)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mail_form (1.5.0)
      actionmailer (>= 3.2, < 5)
      activemodel (>= 3.2, < 5)
    mime-types (1.25.1)
    mimemagic (0.2.1)
    mini_portile (0.5.3)
    minitest (4.7.5)
    multi_json (1.9.2)
    multi_xml (0.5.5)
    multipart-post (2.0.0)
    net-scp (1.2.0)
      net-ssh (>= 2.6.5)
    net-ssh (2.8.0)
    nokogiri (1.6.1)
      mini_portile (~> 0.5.0)
    oauth2 (0.9.3)
      faraday (>= 0.8, < 0.10)
      jwt (~> 0.1.8)
      multi_json (~> 1.3)
      multi_xml (~> 0.5)
      rack (~> 1.2)
    omniauth (1.2.1)
      hashie (>= 1.2, < 3)
      rack (~> 1.0)
    omniauth-facebook (1.6.0)
      omniauth-oauth2 (~> 1.1)
    omniauth-oauth2 (1.1.2)
      faraday (>= 0.8, < 0.10)
      multi_json (~> 1.3)
      oauth2 (~> 0.9.3)
      omniauth (~> 1.2)
    orm_adapter (0.5.0)
    paperclip (4.1.1)
      activemodel (>= 3.0.0)
      activesupport (>= 3.0.0)
      cocaine (~> 0.5.3)
      mime-types
    pg (0.17.1)
    polyglot (0.3.4)
    posix-spawn (0.3.8)
    rack (1.5.2)
    rack-test (0.6.2)
      rack (>= 1.0)
    rails (4.0.3)
      actionmailer (= 4.0.3)
      actionpack (= 4.0.3)
      activerecord (= 4.0.3)
      activesupport (= 4.0.3)
      bundler (>= 1.3.0, < 2.0)
      railties (= 4.0.3)
      sprockets-rails (~> 2.0.0)
    rails_12factor (0.0.2)
      rails_serve_static_assets
      rails_stdout_logging
    rails_layout (1.0.14)
    rails_serve_static_assets (0.0.2)
    rails_stdout_logging (0.0.3)
    railties (4.0.3)
      actionpack (= 4.0.3)
      activesupport (= 4.0.3)
      rake (>= 0.8.7)
      thor (>= 0.18.1, < 2.0)
    raindrops (0.13.0)
    rake (10.3.0)
    rdoc (3.12.2)
      json (~> 1.4)
    ref (1.0.5)
    route_translator (3.2.0)
    rspec-core (2.14.8)
    rspec-expectations (2.14.5)
      diff-lcs (>= 1.1.3, < 2.0)
    rspec-mocks (2.14.6)
    rspec-rails (2.14.2)
      actionpack (>= 3.0)
      activemodel (>= 3.0)
      activesupport (>= 3.0)
      railties (>= 3.0)
      rspec-core (~> 2.14.0)
      rspec-expectations (~> 2.14.0)
      rspec-mocks (~> 2.14.0)
    sass (3.2.19)
    sass-rails (4.0.3)
      railties (>= 4.0.0, < 5.0)
      sass (~> 3.2.0)
      sprockets (~> 2.8, <= 2.11.0)
      sprockets-rails (~> 2.0)
    sdoc (0.3.20)
      json (>= 1.1.3)
      rdoc (~> 3.10)
    simple_oauth (0.2.0)
    soundcloud (0.3.2)
      hashie (~> 2.0)
      httmultiparty (~> 0.3.0)
    sprockets (2.11.0)
      hike (~> 1.2)
      multi_json (~> 1.0)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sprockets-rails (2.0.1)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      sprockets (~> 2.8)
    sshkit (1.4.0)
      net-scp (>= 1.1.2)
      net-ssh (>= 2.8.0)
      term-ansicolor
    term-ansicolor (1.3.0)
      tins (~> 1.0)
    textacular (3.2.0)
      activerecord (>= 3.0, < 4.2)
    therubyracer (0.12.1)
      libv8 (~> 3.16.14.0)
      ref
    thor (0.19.1)
    thread_safe (0.3.3)
    tilt (1.4.1)
    tins (1.1.0)
    treetop (1.4.15)
      polyglot
      polyglot (>= 0.3.1)
    turbolinks (2.2.2)
      coffee-rails
    twitter (4.8.1)
      faraday (~> 0.8, < 0.10)
      multi_json (~> 1.0)
      simple_oauth (~> 0.2)
    tzinfo (0.3.39)
    uglifier (2.2.1)
      execjs (>= 0.3.0)
      multi_json (~> 1.0, >= 1.0.2)
    unicorn (4.8.2)
      kgio (~> 2.6)
      rack
      raindrops (~> 0.7)
    uuidtools (2.1.4)
    warden (1.2.3)
      rack (>= 1.0)
    will_paginate (3.0.5)
    will_paginate-bootstrap (1.0.0)
      will_paginate (>= 3.0.3)
    xpath (2.0.0)
      nokogiri (~> 1.3)

PLATFORMS
  ruby

DEPENDENCIES
  acts-as-taggable-on
  aws-sdk
  bcrypt-ruby
  bootstrap-sass (~> 3.0.3.0)
  capistrano (~> 3.0.1)
  capistrano-bundler
  capistrano-rails (~> 1.1.0)
  capistrano-rbenv (~> 2.0)
  capybara
  chosen-rails
  ckeditor
  coffee-rails
  compass (= 0.12.2)
  devise
  dumper
  email_spec
  exception_notification
  execjs
  factory_girl_rails
  faker
  figaro
  font-awesome-rails
  font-awesome-sass (~> 4.0.2)
  friendly_id
  geocoder
  gibbon
  gmaps4rails
  jbuilder
  jquery-rails
  json (= 1.7.7)
  kaminari
  mail_form
  omniauth-facebook
  paperclip
  pg
  rails (= 4.0.3)
  rails_12factor
  rails_layout
  route_translator
  rspec-rails
  sass
  sass-rails (~> 4.0.1)
  sdoc
  soundcloud
  textacular
  therubyracer
  turbolinks
  twitter
  uglifier
  unicorn
  will_paginate-bootstrap (~> 1.0.0)

update2:如果我克隆了repo和bundle install,并尝试运行rails s或任何rake任务,我会复制bundler错误。但是,如果我然后执行gem install bundlergem install rake,则新的仓库将正常运行。在我的原始仓库中卸载并重新安装两个宝石将无法解决问题。很高兴我找到了一个准解决方案,但仍然想要深究这一点。

update3:我认为我已经将其缩小到了宝石的问题,但不确定如何继续。如果我使用我的默认gemset运行触发错误的命令,则没有问题,只有当我切换到此项目的gemset时才会出现错误。在使用默认gemset测试命令之前,我没有运行bundle update

update4:我已经在另一台机器上克隆了repo,它复制了这个问题。所以我猜测是时候开始回头检查这个问题之前的提交了,看看会发生什么?我的另一个想法是开始评论宝石/删除依赖项,看看是否有帮助。还有什么我可能想看的吗?

删除所有宝石后,uninitialized constant的警告仍然存在。

3 个答案:

答案 0 :(得分:14)

来自bundler FAQ的这些命令起到了作用:

#remove project-specific settings
rm -rf .bundle/

# remove project-specific cached gems and repos
rm -rf vendor/cache/

# remove the saved resolve of the Gemfile
rm -rf Gemfile.lock

然后与bundle install

重新绑定

编辑:heroku部署也无法启动,因为它启动了带有bin / rails的服务器,而且我的binstubs都很不稳定。要解决此问题:BUNDLE INSTALL --BINSTUBS,再次来自bundler docs

答案 1 :(得分:1)

我刚刚在项目目录的根文件夹中使用rm -rf Gemfile.lock删除了锁定,并重新运行 bundle install,现在一切正常。

答案 2 :(得分:0)

我有像你这样的问题,请订阅我的案子。

config / applicataion.rb:

require_relative 'boot'

require 'rails/all'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)

module AppName
  class Application < Rails::Application
    config.load_defaults 5.2
  end
end

require_relative 'boot'非常重要,例如 config / boot.rb

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)

require 'bundler/setup' # Set up gems listed in the Gemfile.

已将捆绑程序库包含到应用程序中。