在导入Bootstrap时,nil:NilClass的方法未定义

我一直在试图导入Bootstrap到我的Rails应用程序,我不太清楚发生了什么问题。 我之前有过这样的工作,但是我做了一个“包更新”,并摧毁了一些依赖关系(我认为)。 我似乎修复了一切…除了Bootstrap。

我尝试删除并重新进入'bootstrap-sass'gem…我真的不知道错误在哪里。

谢谢您的帮助!

的Gemfile

source 'https://rubygems.org' ruby '2.0.0' gem 'rails', '4.0.1' gem 'bootstrap-sass' gem 'bcrypt-ruby', '3.1.2' gem 'faker', '1.1.2' group :development, :test do gem 'sqlite3', '1.3.8' gem 'rspec-rails' end group :test do gem 'selenium-webdriver', '2.35.1' gem 'capybara', '2.1.0' gem 'factory_girl_rails', '4.2.1' gem 'database_cleaner', github: 'bmabey/database_cleaner' end gem 'sass-rails' gem 'uglifier', '2.1.1' gem 'coffee-rails', '4.0.1' gem 'jquery-rails', '3.0.4' gem 'turbolinks', '1.1.1' gem 'jbuilder', '1.0.2' group :doc do gem 'sdoc', '0.3.20', require: false end group :production do gem 'pg', '0.15.1' gem 'rails_12factor', '0.0.2' end 

Gemfile.lock的

 GIT remote: git://github.com/bmabey/database_cleaner.git revision: 35bd646903fc56af185a9fa9e360c568bb56756e specs: database_cleaner (1.2.0) GEM remote: https://rubygems.org/ specs: actionmailer (4.0.1) actionpack (= 4.0.1) mail (~> 2.5.4) actionpack (4.0.1) activesupport (= 4.0.1) builder (~> 3.1.0) erubis (~> 2.7.0) rack (~> 1.5.2) rack-test (~> 0.6.2) activemodel (4.0.1) activesupport (= 4.0.1) builder (~> 3.1.0) activerecord (4.0.1) activemodel (= 4.0.1) activerecord-deprecated_finders (~> 1.0.2) activesupport (= 4.0.1) arel (~> 4.0.0) activerecord-deprecated_finders (1.0.3) activesupport (4.0.1) i18n (~> 0.6, >= 0.6.4) minitest (~> 4.2) multi_json (~> 1.3) thread_safe (~> 0.1) tzinfo (~> 0.3.37) arel (4.0.2) atomic (1.1.15) bcrypt-ruby (3.1.2) bootstrap-sass (3.1.1.0) sass (~> 3.2) builder (3.1.4) capybara (2.1.0) mime-types (>= 1.16) nokogiri (>= 1.3.3) rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) childprocess (0.5.1) ffi (~> 1.0, >= 1.0.11) 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) diff-lcs (1.2.5) erubis (2.7.0) execjs (2.0.2) factory_girl (4.2.0) activesupport (>= 3.0.0) factory_girl_rails (4.2.1) factory_girl (~> 4.2.0) railties (>= 3.0.0) faker (1.1.2) i18n (~> 0.5) ffi (1.9.3) hike (1.2.3) i18n (0.6.9) jbuilder (1.0.2) activesupport (>= 3.0.0) jquery-rails (3.0.4) railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) json (1.8.1) mail (2.5.4) mime-types (~> 1.16) treetop (~> 1.4.8) mime-types (1.25.1) mini_portile (0.5.2) minitest (4.7.5) multi_json (1.9.0) nokogiri (1.6.1) mini_portile (~> 0.5.0) pg (0.15.1) polyglot (0.3.4) rack (1.5.2) rack-test (0.6.2) rack (>= 1.0) rails (4.0.1) actionmailer (= 4.0.1) actionpack (= 4.0.1) activerecord (= 4.0.1) activesupport (= 4.0.1) bundler (>= 1.3.0, < 2.0) railties (= 4.0.1) sprockets-rails (~> 2.0.0) rails_12factor (0.0.2) rails_serve_static_assets rails_stdout_logging rails_serve_static_assets (0.0.2) rails_stdout_logging (0.0.3) railties (4.0.1) actionpack (= 4.0.1) activesupport (= 4.0.1) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (10.1.1) rdoc (3.12.2) json (~> 1.4) 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.1) 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) rubyzip (0.9.9) sass (3.3.2) sass-rails (4.0.1) railties (>= 4.0.0, < 5.0) sass (>= 3.1.10) sprockets-rails (~> 2.0.0) sdoc (0.3.20) json (>= 1.1.3) rdoc (~> 3.10) selenium-webdriver (2.35.1) childprocess (>= 0.2.5) multi_json (~> 1.0) rubyzip (< 1.0.0) websocket (~> 1.0.4) sprockets (2.12.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) sqlite3 (1.3.8) thor (0.18.1) thread_safe (0.2.0) atomic (>= 1.1.7, < 2) tilt (1.4.1) treetop (1.4.15) polyglot polyglot (>= 0.3.1) turbolinks (1.1.1) coffee-rails tzinfo (0.3.39) uglifier (2.1.1) execjs (>= 0.3.0) multi_json (~> 1.0, >= 1.0.2) websocket (1.0.7) xpath (2.0.0) nokogiri (~> 1.3) PLATFORMS ruby DEPENDENCIES bcrypt-ruby (= 3.1.2) bootstrap-sass capybara (= 2.1.0) coffee-rails (= 4.0.1) database_cleaner! factory_girl_rails (= 4.2.1) faker (= 1.1.2) jbuilder (= 1.0.2) jquery-rails (= 3.0.4) pg (= 0.15.1) rails (= 4.0.1) rails_12factor (= 0.0.2) rspec-rails sass-rails sdoc (= 0.3.20) selenium-webdriver (= 2.35.1) sqlite3 (= 1.3.8) turbolinks (= 1.1.1) uglifier (= 2.1.1) 

我也遇到了这个问题,它看起来像一个问题有关的最新版本的链轮,你可以修改它build议通过更改Gemfile.lock,但如果某人或某事一个软件包更新它会被打破了而且我知道有些地方不喜欢在Gemfile.lock中检查,直到有一个推动阶段。

如果您使用sass-rails优于4.0.0,它将解决问题…

 gem 'sass-rails', '~> 4.0.0' 

问题解决了,它将链轮限制到2.11。 从生成的Gemfile.lock …

  sass-rails (4.0.2) railties (>= 4.0.0, < 5.0) sass (~> 3.2.0) sprockets (~> 2.8, <= 2.11.0) sprockets-rails (~> 2.0.0) 

我今天遇到了这个确切的问题,并设法解决这个问题。

有趣的是,昨天一切都很好(我有证据,因为我昨晚在睡觉之前推出了一个工作版本到Heroku),但今天事情打破了我bundle update 。 所以我通过terminal输出,注意到链轮gem更新到2.12.0。 然后我回去,发现昨天是2.11.0。 嗯…

在预感,我编辑我的gem文件,并添加以下行:

 gem 'sprockets', '2.11.0' 

基本上,要强制捆绑器安装该特定的版本。 然后我做了另一个bundle update ,瞧! 事情又开始了。

我昨天更新了我的项目到轨道4.0.4,并收到相同的错误。 运行“软件包更新”对我没有任何帮助。 卸载和重新安装sass-rails只安装版本4.0.1。 我必须从以下位置更改我的Gemfile:

 gem 'sass-rails' 

至:

 gem 'sass-rails', '~> 4.0.2' 

然后,在运行“软件包更新”之后,rspec现在可以正常工作。

这是一个gem版本冲突。

请用

gem 'sass-rails', '~> 4.0.0'

代替

gem 'sass-rails'

之后立即执行bundle update 。 这应该解决它

我刚刚遇到了这个问题,更新sass到3.3.3和sprockets到2.12.0。

我跑了一个$ bundle outdated$ bundle outdated来检查哪些gem已经过时了,而且确实包括了sass-rails

 * sass-rails (4.0.2 > 4.0.1) 

使用$ bundle update sass-rails为我解决了它。

如果使用$ bundle update ,它也可以解决问题,但是也会更新其他非版本限制的gem。 逐一更新gem更加耗时,但对于诊断gem冲突更有用。