Ruby-on-rails Rails 未初始化的常量 Bundler (NameError)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23130295/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Rails uninitialized constant Bundler (NameError)
提问by user2936314
I'm getting the following error when running any rails commands like rails sor rails c, it's also preventing my heroku app from starting (same error):
运行任何 rails 命令(如rails sor )时出现以下错误rails c,这也阻止了我的 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'
Line 7 in the error message is:
错误消息中的第 7 行是:
Bundler.require(:default, Rails.env)
Doing the commands as bundle exec rails ssucceeds, but that doesn't help the heroku app. I've verified which ruby, which railsand which bundler. I've also tried starting a new rvm gemset and reinstalling the bundle. The heroku error is identical:
执行命令bundle exec rails s成功,但这对 heroku 应用程序没有帮助。我已经验证which ruby,which rails并且which bundler。我也试过启动一个新的 rvm gemset 并重新安装包。heroku 错误是相同的:
/app/config/application.rb:7:in `<top (required)>': uninitialized constant Bundler (NameError)
running bundle checkreturns no issues.
运行bundle check返回没有问题。
Some similar questions suggested this:
一些类似的问题表明了这一点:
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
But I tried it and got no changes. I'm on Rails 4
但我试过了,没有任何变化。我在 Rails 4 上
edit:
编辑:
I was working in another app and ran rails g modeland this popped up:
我正在另一个应用程序中工作并运行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
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: If I clone the repo and bundle install, and the try to run rails sor any rake task, I replicate the bundlererrors. However, if I then do gem install bundlerand gem install rake, the new repo will work fine. Uninstalling and reinstalling the two gems in my original repo will not fix the issue. glad I've found a quasi fix, but would still like to get to the bottom of this.
update2:如果我克隆 repo 和bundle install,并尝试运行rails s或任何 rake 任务,我会复制bundler错误。但是,如果我再做gem install bundlerand gem install rake,新的 repo 将正常工作。在我的原始存储库中卸载并重新安装两个 gem 不会解决问题。很高兴我找到了一个准修复,但仍然想深入了解这个问题。
update3: I think I've narrowed it down to an issue with the gems, but not sure how to proceed. If I run the commands that trigger errors using my default gemset, there is no issue, it's only when I switch over to the gemset for this project that I get errors. I did not run bundle updatebefore testing commands with the default gemset.
更新 3:我想我已经将范围缩小到宝石的问题,但不确定如何继续。如果我使用默认 gemset 运行触发错误的命令,则没有问题,只有当我切换到此项目的 gemset 时才会出现错误。bundle update在使用默认 gemset 测试命令之前,我没有运行。
update4: I've cloned the repo on another machine and it replicates the issue. So I'm guessing it's time to start going back and checking commits from before this issue and see what happens? My other idea is to start commenting out gems / removing dependencies and seeing if that helps. Anything else I might want to look at?
更新 4:我在另一台机器上克隆了 repo,它复制了这个问题。所以我猜是时候开始回过头来检查这个问题之前的提交,看看会发生什么?我的另一个想法是开始注释 gems/删除依赖项,看看是否有帮助。还有什么我想看的吗?
After removing all gems, the warning with uninitialized constantis still present.
删除所有宝石后,警告uninitialized constant仍然存在。
回答by user2936314
These commands from the bundler FAQdid the trick:
捆绑程序常见问题解答中的这些命令可以解决问题:
#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
and then rebundling with bundle install
然后与 bundle install
edit: heroku deploy was also failing to start up because it starts the server with bin/rails s and my binstubs were all wonky. to fix this: BUNDLE INSTALL --BINSTUBS, again from bundler docs
编辑:heroku deploy 也无法启动,因为它用 bin/rails s 启动服务器,而我的 binstubs 都是不稳定的。解决这个问题:BUNDLE INSTALL --BINSTUBS,再次来自bundler docs
回答by Joshua Michael Waggoner
I just removed the lock using rm -rf Gemfile.lockwithin my project directory's root folder, and re-ran bundle installand everything works perfect now.
我刚刚rm -rf Gemfile.lock在我的项目目录的根文件夹中删除了锁,然后重新运行bundle install,现在一切正常。
回答by dostapn
I have problems like you, subscribe my case.
我有和你一样的问题,订阅我的案例。
config/applicataion.rb:
配置/应用程序.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
where require_relative 'boot'is very important, such as config/boot.rb:
哪里require_relative 'boot'很重要,比如config/boot.rb:
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
has including bundler library into application.
已将捆绑程序库包含到应用程序中。

