web-dev-qa-db-fra.com

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

J'ai essayé d'importer Bootstrap dans mon Rails et je ne sais pas trop ce qui ne va pas. Je l'ai déjà fait fonctionner auparavant, mais J'ai fait une "mise à jour de bundle" et détruit certaines dépendances (je pense). J'ai apparemment tout corrigé ... sauf Bootstrap.

J'ai essayé de supprimer et de rentrer dans le joyau 'bootstrap-sass' ... 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.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)
49
Ajayc

J'ai également rencontré ce problème et il ressemble à un problème lié à la dernière version des pignons et vous pouvez le résoudre comme suggéré en changeant le Gemfile.lock, mais si quelqu'un ou quelque chose fait une mise à jour de bundle, il sera à nouveau cassé et je sais que certains endroits n'aiment pas vérifier Gemfile.lock tant qu'il n'y a pas de Push to stage.

Si vous utilisez sass-Rails mieux que 4.0.0, cela résoudra le problème ...

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

Le problème est résolu et il limitera les pignons à 2.11. Depuis le Gemfile.lock généré ...

    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)
62
Aaron Cooley

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

Ce qui est drôle, c'est qu'hier tout allait bien (j'en ai la preuve parce que j'ai poussé une version de travail sur Heroku avant d'aller me coucher hier soir), mais aujourd'hui les choses se sont brisées après que je l'ai fait bundle update. J'ai donc parcouru la sortie du terminal et j'ai remarqué que la gemme des pignons était mise à jour vers 2.12.0. Je suis ensuite retourné et j'ai réalisé que c'était 2.11.0 hier. Hmm ...

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

gem 'sprockets', '2.11.0'

Fondamentalement, pour forcer le bundler à installer cette version spécifique. J'ai ensuite fait un autre bundle update et le tour est joué! Les choses ont recommencé à fonctionner.

35
Ege Ersoz

J'ai mis à jour mon projet vers Rails 4.0.4 hier et recevais la même erreur. L'exécution de la "mise à jour de bundle" n'a rien fait pour moi. La désinstallation et la réinstallation de sass-Rails ont uniquement installé la version 4.0.1. J'ai dû changer mon Gemfile de:

gem 'sass-Rails'

à:

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

Ensuite, après avoir exécuté la "mise à jour du bundle", rspec fonctionne maintenant comme il se doit.

28
sknight

C'était un conflit de version gem.

Veuillez utiliser

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

au lieu de

gem 'sass-Rails'

Effectuez bundle update juste après. Cela devrait le réparer

7
anbiniyar

Je viens de rencontrer ce problème, après avoir mis à jour sass vers 3.3.3 et sprockets vers 2.12.0.

J'ai couru un $ bundle outdated pour vérifier les gemmes obsolètes, et en effet sass-Rails etait inclut:

* sass-Rails (4.0.2 > 4.0.1)

En utilisant $ bundle update sass-Rails l'a résolu pour moi.

Si tu utilises $ bundle update au lieu de cela, cela résoudrait également le problème, mais mettrait également à jour d'autres gemmes sans contraintes de version. La mise à jour de vos gemmes une par une prend plus de temps, mais est plus utile pour diagnostiquer le conflit de gemmes.

7
James