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
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É
J'ai résolu ce problème en mettant à jour bootstrap-sass
gem 'bootstrap-sass', '3.2.0.2'
Veuillez redémarrer votre serveur Rails après chaque modification dans Gemfile.
Rails server
Assurez-vous de ne pas avoir
gem 'bootstrap' # Remove this line
gem 'bootstrap-sass'
Il devrait juste être
gem 'bootstrap-sass'
Je l'ai résolu en suivant les étapes suivantes:
Voici comment j'ai résolu le problème.
Allez sur Page Bootstrap for Sass Github et suivez les instructions:
Ajouter ce qui suit au fichier Gemfile
gem 'bootstrap-sass', '~> 3.3.6' gem 'sass-Rails', '> = 3.2'
Exécutez la commande bundle install
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.
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
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
mettre ceci en fichier gem
gem 'bootstrap-sass', '~> 3.3.5'
gem 'sass-Rails', '>= 3.2'
puis lancez $ bundle install
Redémarrez le serveur.
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
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'
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.
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
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!
Je faisais également face à une erreur similaire dans l'environnement de développement:
J'ai résolu ce problème en-
Dans mon gemfile, je les ai ajoutés -
gem 'bootstrap', '~> 4.2.1'
gem 'jquery-Rails'
Dans le fichier application.js, ajoutez ces -
// = nécessite jquery3
// = nécessite popper
// = nécessite l'amorçage de démarrage
Dans le fichier avec l'extension .scss, ajoutez simplement -
@import "bootstrap";
Après cela, lancez simplement bundle install