Undefined метод `environment 'для nil: NilClass при импорте Bootstrap - программирование
Подтвердить что ты не робот

Undefined метод `environment 'для nil: NilClass при импорте Bootstrap

Я пытаюсь импортировать Bootstrap в мое приложение rails, и я не совсем уверен, что происходит не так. Я работал над этим раньше, но я сделал "обновление пакета" и уничтожил некоторые зависимости (я думаю). Я, кажется, исправил все... кроме Bootstrap.

Я попытался удалить и снова войти в самоцветов "bootstrap-sass"... Я не могу понять, где ошибка.

Спасибо за помощь!

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)
4b9b3361

Ответ 1

Я тоже столкнулся с этой проблемой, и это похоже на проблему, связанную с последней версией звездочек, и вы можете исправить ее, как было предложено, изменив 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)

Ответ 2

Сегодня я столкнулся с этой точной проблемой и смог ее решить.

Забавно, что вчера все было в порядке (у меня есть доказательства, потому что вчера я отправил рабочую версию в Хероку перед сном), но сегодня все пошло после того, как я сделал bundle update. Таким образом, я просмотрел вывод терминала и заметил, что драгоценный камень звездочек обновлен до 2.12.0. Затем я вернулся и понял, что вчера это было 2.11.0. Хм...

В ожидании я редактировал свой gemfile и добавил эту строку:

gem 'sprockets', '2.11.0'

В основном, чтобы заставить bundler установить эту конкретную версию. Затем я сделал еще один bundle update и вуаля! Вещи снова начали работать.

Ответ 3

Я обновил свой проект до рельсов 4.0.4 вчера и получал ту же ошибку. Выполнение обновления пакета не помогло мне. удаление и переустановка sass-rails только установленной версии 4.0.1. Я должен был изменить свой Gemfile:

gem 'sass-rails'

в

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

Затем, после запуска 'bundle update', rspec теперь работает так, как должно.

Ответ 4

Это был конфликт версии с драгоценными камнями.

Пожалуйста, используйте

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

вместо

gem 'sass-rails'

Выполните bundle update сразу после этого. Это должно исправить это.

Ответ 5

Я просто столкнулся с этой проблемой после обновления sass до 3.3.3 и sprockets до 2.12.0.

Я запустил $ bundle outdated, чтобы проверить, какие драгоценные камни устарели, и действительно sass-rails был включен:

* sass-rails (4.0.2 > 4.0.1)

С помощью $ bundle update sass-rails решил это для меня.

Если вы используете $ bundle update вместо этого, это также решит проблему, но также обновит другие драгоценные камни, не связанные с версией. Обновление ваших драгоценных камней по одному более трудоемко, но более полезно для диагностики конфликта драгоценных камней.