Sass::SyntaxError: Файл для импорта не найден или не читается: bootstrap-sprockets
Я внезапно получаю эту ошибку в разработке и в производстве при развертывании.
custom.css.scss
@import "bootstrap-sprockets";
@import "bootstrap";
ошибка (в производстве)
rake aborted!
Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets.
Load paths:
/srv/www/myapp/releases/20141001060418/app/assets/images
/srv/www/myapp/releases/20141001060418/app/assets/javascripts
/srv/www/myapp/releases/20141001060418/app/assets/stylesheets
/srv/www/myapp/releases/20141001060418/vendor/assets/javascripts
/srv/www/myapp/releases/20141001060418/vendor/assets/stylesheets
18 ответов
После внесения изменений в Gemfile, не забудьте перезапустить сервер с rails s
Перезапуск сервера rails работал как шарм!:D
Я решил эту проблему, обновив bootstrap-sass
gem 'bootstrap-sass', '3.2.0.2'
Пожалуйста, перезапустите сервер rails после каждого изменения в Gemfile
rails server
Убедитесь, что у вас нет
gem 'bootstrap' # Remove this line
gem 'bootstrap-sass'
Это должно быть просто
gem 'bootstrap-sass'
Я решил это в следующих шагах:
- Элемент списка
- скопировать "bootstrap.css" в мое приложение /assets/stylesheets/ (его не было)
- gem install autoprefixer-rails (также измените Gemfile)
- gem install звездочки (также измените Gemfile)
- комплектация
- RESTART сервер (не просто обновление страницы)
Вот как я решил проблему.
Перейдите на страницу Bootstrap для Sass Github и следуйте инструкциям:
Добавьте следующее в Gemfile
gem 'bootstrap-sass', '~> 3.3.6' gem 'sass-rails', '> = 3.2'
Запустите команду
bundle install
Запустить / перезагрузить сервер
рельсы с
Также убедитесь, что файл имеет расширение.scss (или.sass для синтаксиса Sass). Если вы только что сгенерировали новое приложение Rails, оно может вместо этого иметь файл.css. Если этот файл существует, он будет обслуживаться вместо Sass, поэтому переименуйте его. Затем удалите все *= require_self и *= require_tree . заявления из файла SASS. Вместо этого используйте @import для импорта файлов Sass.
Я наблюдал такое же поведение. В моем случае я удалил версию самоцвета "bootstap-sass", и это сработало. Может быть проблема совместимости с версией гема, которая вызывала проблему.
Gem file
gem 'bootstrap-sass'
После внесения изменений в файл gem выполните следующие команды:
bundle install
Если сервер уже запущен, остановите его нажатием " CTRL + C " и снова запустите сервер
rails s
В ваш Gemfile вам нужно добавить гем bootstrap-sass и убедиться, что гем sass-rails присутствует - он добавляется в новые приложения Rails по умолчанию.
gem 'bootstrap-sass', '3.3.7'
gem 'sass-rails', '5.0.6'
gem 'rails', '5.0.0'
установите пакет и перезапустите ваш сервер, чтобы сделать файлы доступными через конвейер. Импортируйте стили Bootstrap в app / assets / stylesheets / application.scss:
// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "bootstrap";
bootstrap-sprockets должны быть импортированы до начальной загрузки, чтобы работали шрифты значков. Убедитесь, что файл имеет расширение.scss (или.sass для синтаксиса Sass). Если вы только что сгенерировали новое приложение Rails, оно может вместо этого иметь файл.css. Если этот файл существует, он будет использоваться вместо Sass, поэтому переименуйте его:
$ mv app / assets / stylesheets / application.css TO: app / assets / stylesheets / application.scss
Затем удалите все *= require_self
а также *= require_tree .
заявления из файла SASS. Вместо этого используйте @import
импортировать файлы Sass.например
*= require_tree .
*= require_self
Для того,чтобы:
@import require_tree .
@import require_self
Не использовать *= require
в Sass или других ваших таблицах стилей не смогут получить доступ к миксинам или переменным Bootstrap. Загрузочный JavaScript зависит от jQuery. Если вы используете Rails 5.1+
добавьте драгоценный камень jquery-rails в ваш Gemfile:
gem 'jquery-rails'
$ bundle install
Требовать Bootstrap Javascripts в
приложение / активы / JavaScripts / application.js:
//= require jquery
//= require bootstrap-sprockets
bootstrap-sprockets
а также bootstrap
не должны быть оба включены в
application.js
,bootstrap-sprockets
предоставляет отдельные файлы Javascript Bootstrap (например, alert.js или dropdown.js), а bootstrap
предоставляет объединенный файл, содержащий все сценарии начальной загрузки.
Это исправит ошибку
Copied @github
Эта ошибка чаще всего встречается в версиях rails 3.2.x. Если вы используете rails version 3.2, вы должны указать специальную версию в вашем файле gem, как показано ниже:
gem 'rails', '3.2.0'
gem 'bootstrap-sass', '3.2.0.2'
Это решит проблему для rails -v '3.2.0'
У меня такая же проблема
sass::syntaxerror: file to import not found or unreadable: config/variables.
Я открыл новый файл CSS (я назвал его custom.css), а затем скопировал все CSS в файл. На application.css я удалил
@import "config/variable" плюс все остальные @imports
Это сработало для меня, надеюсь, это сработает и для вас!
Положить это в файл драгоценного камня
gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-rails', '>= 3.2'
затем беги $ bundle install
Перезагрузите сервер.
Если вы получаете это сообщение при запуске интеграционных тестов, убедитесь, что ваши активы включены в тестовую группу.
Например, изменить:
group :assets do
gem 'sass-rails', '~> 5.0.3'
gem 'uglifier', '>= 1.3.0'
end
Для того, чтобы:
group :assets, :test do
gem 'sass-rails', '~> 5.0.3'
gem 'uglifier', '>= 1.3.0'
end
У меня была та же проблема, но я решил ее, вам просто нужно добавить свой gem bootstrap-sass
в группе разработчиков, как это:
group :development do
gem 'bootstrap-sass'
end
Я надеюсь, это поможет
Убедитесь, что вы выполнили следующие команды после добавления этого драгоценного камня в свой Gemfile и поместите его в свой Gemfile
gem "bootstrap-sprockets", "~>3.3"
gem "bootstrap"
Теперь остановите ваш сервер и выполните следующее:
bundle install
rails server
перезагрузить ваш сервер. Обновите ваш браузер, и вы увидите, что изменения будут отражены немедленно. В производственной среде вам может потребоваться выполнить эту команду для предварительной компиляции ваших ресурсов:
bundle exec bin/rake assets:precompile
Это сработало для меня. Надеюсь, это было полезно.
Мне удалось решить проблему, изменив (.css) на (.scss). Тогда там у меня просто есть это ..
*= require_tree .
*= require_self
@import "bootstrap";
У меня также есть @import "boostrap" в файле application.js. Именно так это сработало для меня - не 100% правильное решение - но оно работает.
Я столкнулся с такой проблемой. Если вы видите более низкую версию bootstrap-sass, чем 3.4.1 в «Gemfile.lock», обновите версию гема bootstrap-sass.
Я также столкнулся с подобной ошибкой в среде разработки:
Я решил эту проблему
В моем gemfile я добавил их -
gem 'bootstrap', '~> 4.2.1'
драгоценный камень 'jquery-рельсы'
В файле application.js добавьте эти
//= требуется jquery3
//= требуется поппер
//= требуются бутстрап-звездочки
В файле с расширением .scss просто добавьте -
@import "bootstrap";
После этого просто запустите пакетную установку