我在运行rails s
或rails 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 ruby
,which rails
和which 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 bundler
和gem install rake
,则新的仓库将正常运行。在我的原始仓库中卸载并重新安装两个宝石将无法解决问题。很高兴我找到了一个准解决方案,但仍然想要深究这一点。
update3:我认为我已经将其缩小到了宝石的问题,但不确定如何继续。如果我使用我的默认gemset运行触发错误的命令,则没有问题,只有当我切换到此项目的gemset时才会出现错误。在使用默认gemset测试命令之前,我没有运行bundle update
。
update4:我已经在另一台机器上克隆了repo,它复制了这个问题。所以我猜测是时候开始回头检查这个问题之前的提交了,看看会发生什么?我的另一个想法是开始评论宝石/删除依赖项,看看是否有帮助。还有什么我可能想看的吗?
删除所有宝石后,uninitialized constant
的警告仍然存在。
答案 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.
已将捆绑程序库包含到应用程序中。