49 votes

Méthode non définie "environnement" pour nil: NilClass lors de l'importation de Bootstrap

J'ai essayé d'importer des fichiers d'amorce dans mon application rails, et je ne suis pas tout à fait sûr de ce qui va mal. Je l'ai eu à travailler avant, mais j'ai fait une liasse "mise à jour" et détruit certaines dépendances (je pense). J'ai apparemment fixe tout... sauf pour Bootstrap.

J'ai essayé de supprimer et re-entrer dans le "bootstrap-sass" bijou... je ne peux pas vraiment comprendre où est l'erreur.

Merci pour l'aide!

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.verrouillage

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)

62voto

user2243516 Points 561

J'ai couru à ce problème et ça ressemble à un problème lié à la version la plus récente de pignons et vous pouvez le fixer comme suggéré par la modification de la Gemfile.verrouiller, mais si quelqu'un ou quelque chose fait un paquet de mise à jour, il va se casser à nouveau et je sais que certains n'aiment pas à vérifier dans le Gemfile.de verrouillage jusqu'à ce qu'il y a une poussée de la scène.

Si vous utilisez le sass-rails de mieux que 4.0.0 il permettra de résoudre le problème...

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

Le problème est résolu et il permettra de limiter les pignons à 2.11. De la Gemfile.serrure...

    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)

36voto

Ege Ersoz Points 1247

J'ai rencontré ce problème aujourd'hui et a réussi à le résoudre.

La chose drôle est que hier tout allait bien (j'en ai la preuve car j'ai poussé une version de travail à Heroku avant d'aller au lit la nuit dernière), mais aujourd'hui, les choses ont cassé après je n' bundle update. Je suis donc allé dans le terminal de sortie de et a remarqué que les pignons gem mis à jour pour la version 2.12.0. Je suis alors retourné et a réalisé qu'il était 2.11.0 hier. Hmm...

Sur une intuition, j'ai édité mon gemfile et a ajouté cette ligne:

gem 'sprockets', '2.11.0'

En gros, à force de bundler pour installer cette version spécifique. J'ai ensuite fait un autre bundle update et le tour est joué! Les choses ont commencé à travailler à nouveau.

28voto

sknight Points 211

J'ai mis à jour mon projet sur rails 4.0.4 hier et je recevais la même erreur. L'exécution de la «mise à jour groupée» n'a rien fait pour moi. désinstaller et réinstaller sass-rails uniquement la version 4.0.1 installée. Je devais changer mon Gemfile de:

 gem 'sass-rails'
 

à:

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

Ensuite, après avoir exécuté 'bundle update', rspec fonctionne maintenant comme il se doit.

7voto

anbiniyar Points 256

C'était un conflit de version de gemme.

Veuillez utiliser

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

au lieu de

gem 'sass-rails'

Effectuer bundle update juste après. Cela devrait résoudre le problème

7voto

James Points 378

Je viens de tomber sur cette question, après mise à jour, sass pour 3.3.3 et sprockets à la version 2.12.0.

J'ai couru un $ bundle outdated à la vérification de pierres précieuses ont été dépassées, et en effet sass-rails a été inclus:

* sass-rails (4.0.2 > 4.0.1)

À l'aide de $ bundle update sass-rails résolu pour moi.

Si vous utilisez $ bundle update au lieu de cela, elle permettrait également de résoudre le problème, mais qui permettra de mettre à jour d'autres non-version limité en pierres précieuses. La mise à jour de vos bijoux, un par un, est plus fastidieux, mais il est plus utile pour le diagnostic de la gemme de conflit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X