web-dev-qa-db-fra.com

Sass :: SyntaxError: Fichier à importer introuvable ou illisible: bootstrap-sprockets

Je reçois soudain cette erreur en développement et en production lors du déploiement.

custom.css.scss

@import "bootstrap-sprockets";
@import "bootstrap";

erreur (en production)

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
51
complete_morons

Après avoir modifié Gemfile, n'oubliez pas de redémarrer le serveur avec Rails s

Le redémarrage du serveur Rails a fonctionné à merveille! :RÉ

86
Sergiu

J'ai résolu ce problème en mettant à jour bootstrap-sass

gem 'bootstrap-sass', '3.2.0.2'
28
flexus

Veuillez redémarrer votre serveur Rails après chaque modification dans Gemfile.

Rails server
12
Azlan Jamal

Assurez-vous de ne pas avoir 

gem 'bootstrap'  # Remove this line
gem 'bootstrap-sass'

Il devrait juste être 

gem 'bootstrap-sass'
7
Mark Swardstrom

Je l'ai résolu en suivant les étapes suivantes:

  1. Élément de liste
  2. copier le "bootstrap.css" dans mon "app/assets/stylesheets/(il manquait)"
  3. gem installe autoprefixer-Rails (modifie également Gemfile)
  4. gem installe les pignons (modifie également Gemfile)
  5. installation groupée
  6. RESTART serveur (pas seulement l'actualisation de la page)
5
Vitalie Suba

Voici comment j'ai résolu le problème.

Allez sur Page Bootstrap for Sass Github et suivez les instructions: 

  1. Ajouter ce qui suit au fichier Gemfile

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

  2. Exécutez la commande bundle install

  3. Démarrer/redémarrer le serveur

    Rails s 

Assurez-vous également que le fichier a une extension .scss (ou une syntaxe .sass pour Sass). Si vous venez de générer une nouvelle application Rails, celle-ci peut être accompagnée d'un fichier .css. Si ce fichier existe, il sera servi à la place de Sass, donc renommez-le ..__ Ensuite, supprimez tous les * = require_self et * = require_tree. déclarations du fichier sass. Utilisez plutôt @import pour importer les fichiers Sass.

3
Adrian Onu

J'ai observé le même comportement. Dans mon cas, j'ai supprimé la version de la gemme 'bootstap-sass' et cela a fonctionné. Il pourrait y avoir un problème de compatibilité avec la version de gem qui était à l'origine du problème.

Fichier Gem

gem 'bootstrap-sass'

Après avoir modifié le fichier gem, effectuez les commandes suivantes:

bundle install

Si le serveur est déjà en cours d'exécution, arrêtez-le avec " CTRL + C " et redémarrez le serveur.

Rails s
2
Deep Mistry

Dans votre Gemfile, vous devez ajouter la gemme bootstrap-sass et vous assurer que celle-ci est présente - elle est ajoutée aux nouvelles applications Rails par défaut.

gem 'bootstrap-sass', '3.3.7'
gem 'sass-Rails', '5.0.6'
gem 'Rails', '5.0.0'

regroupez l’installation et redémarrez votre serveur pour que les fichiers soient disponibles via le pipeline . Importez les styles d’amorçage dans app/assets/stylesheets/application.scss:

// "bootstrap-sprockets" must be imported before "bootstrap" and "bootstrap/variables"
@import "bootstrap-sprockets";
@import "bootstrap";

bootstrap-sprockets doit être importé avant bootstrap pour que les polices-icônes fonctionnent . Assurez-vous que le fichier a une extension .scss (ou une syntaxe .sass pour Sass). Si vous venez de générer une nouvelle application Rails, celle-ci peut être accompagnée d'un fichier .css. Si ce fichier existe, il sera servi à la place de Sass, alors renommez-le:

$ mv app/assets/stylesheets/application.css TO: app/assets/stylesheets/application.scss

Ensuite, supprimez toutes les instructions *= require_self et *= require_tree . du fichier sass. Utilisez plutôt @import pour importer les fichiers Sass . par exemple

*= require_tree .
*= require_self

À:

@import require_tree .
@import require_self

N'utilisez pas *= require dans Sass, sinon vos autres feuilles de style ne pourront pas accéder aux mixins ou aux variables Bootstrap . Bootstrap JavaScript dépend de jQuery. Si vous utilisez Rails 5.1+, ajoutez la gem jquery-Rails à votre Gemfile:

gem 'jquery-Rails'

$ bundle install

Exiger des javascripts de démarrage dans 

app/assets/javascripts/application.js:

//= require jquery
//= require bootstrap-sprockets

bootstrap-sprockets et bootstrap ne doivent pas être tous les deux inclus dans 

application.js

.bootstrap-sprockets fournit des fichiers JavaScript Bootstrap individuels (alert.js ou dropdown.js, par exemple), tandis que bootstrap fournit un fichier concaténé contenant tous les scripts Javascripts Bootstrap.

Cela corrigera l'erreur

Copied @github
2
Godwin

mettre ceci en fichier gem

gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-Rails', '>= 3.2'

puis lancez $ bundle install

Redémarrez le serveur.

1
Nitish Kumar

Si vous recevez ce message lors de l'exécution des tests d'intégration, assurez-vous que vos gems d'actifs sont inclus dans le groupe de tests.

Par exemple, changez:

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

1
technicalpickles

Cette erreur provient principalement des versions de Rails 3.2.x . Si vous utilisez la version 3.2 de Rails, vous devez spécifier une version spéciale dans votre fichier gem, comme ci-dessous:

gem 'Rails', '3.2.0'
gem 'bootstrap-sass', '3.2.0.2'

Cela résoudra le problème pour Rails -v '3.2.0'

1
meOn

assurez-vous d’exécuter les commandes suivantes après avoir ajouté cette gemme à votre Gemfile.

    gem "bootstrap-sprockets", "~>3.3"
    gem "bootstrap"

maintenant, arrêtez votre serveur et lancez ce qui suit:

    bundle install
    Rails server

pour redémarrer votre serveur. Actualisez votre navigateur et vous devriez voir les modifications refléter immédiatement. En production, vous devrez peut-être exécuter cette commande pour précompiler vos actifs:

    bundle exec bin/rake assets:precompile

Cela a fonctionné pour moi. J'espère que c'était utile.

0
Paa Yaw

J'ai eu le même problème mais je l'ai résolu, il vous suffit d'ajouter votre gem bootstrap-sass dans le groupe de développement comme ceci:

    group :development do
    gem 'bootstrap-sass'
    end

j'espère que cela aidera

0
AREEBAISHTIAQ

J'ai eu le même problème

sass::syntaxerror: file to import not found or unreadable: config/variables.

, J’ai ouvert un nouveau fichier css (je l’ai appelé custom.css) puis copié tous les css dans le fichier. Sur application.css j'ai enlevé le 

@import "config/variables" plus tous les autres @imports

Cela a fonctionné pour moi, j'espère que cela fonctionnera pour vous aussi!

0
Linda Kadz

Je faisais également face à une erreur similaire dans l'environnement de développement:

Image d'erreur

J'ai résolu ce problème en-

  1. Dans mon gemfile, je les ai ajoutés - 

    gem 'bootstrap', '~> 4.2.1'

    gem 'jquery-Rails' 

  2. Dans le fichier application.js, ajoutez ces - 

    // = nécessite jquery3

    // = nécessite popper

    // = nécessite l'amorçage de démarrage

  3. Dans le fichier avec l'extension .scss, ajoutez simplement -

    @import "bootstrap";

    Après cela, lancez simplement bundle install

0
hardik chugh