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'

Я решил это в следующих шагах:

  1. Элемент списка
  2. скопировать "bootstrap.css" в мое приложение /assets/stylesheets/ (его не было)
  3. gem install autoprefixer-rails (также измените Gemfile)
  4. gem install звездочки (также измените Gemfile)
  5. комплектация
  6. RESTART сервер (не просто обновление страницы)

Вот как я решил проблему.

Перейдите на страницу Bootstrap для Sass Github и следуйте инструкциям:

  1. Добавьте следующее в Gemfile

    gem 'bootstrap-sass', '~> 3.3.6' gem 'sass-rails', '> = 3.2'

  2. Запустите командуbundle install

  3. Запустить / перезагрузить сервер

    рельсы с

Также убедитесь, что файл имеет расширение.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.

Я также столкнулся с подобной ошибкой в ​​среде разработки:

Изображение ошибки

Я решил эту проблему

  1. В моем gemfile я добавил их -

    gem 'bootstrap', '~> 4.2.1'

    драгоценный камень 'jquery-рельсы'

  2. В файле application.js добавьте эти

    //= требуется jquery3

    //= требуется поппер

    //= требуются бутстрап-звездочки

  3. В файле с расширением .scss просто добавьте -

    @import "bootstrap";

    После этого просто запустите пакетную установку

Я решил свою проблему, удалив

      gem 'bootstrap'
Другие вопросы по тегам