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)
Ответы
Ответ 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
вместо этого, это также решит проблему, но также обновит другие драгоценные камни, не связанные с версией. Обновление ваших драгоценных камней по одному более трудоемко, но более полезно для диагностики конфликта драгоценных камней.