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
对Gemfile进行更改后,不要忘记使用rails s
重新启动服务器
我通过升级bootstrap-sass解决了这个问题
gem 'bootstrap-sass', '3.2.0.2'
Gemfile中的每个更改后,请重新启动您的rails服务器
rails server
我通过以下步骤解决了它:
- 项目清单
- 复制我的“app / assets / stylesheets /中的”bootstrap.css“(缺失)
- gem install autoprefixer-rails(同时修改Gemfile)
- gem安装链轮(也修改Gemfile)
- 捆绑安装
- RESTART服务器(不只是刷新页面)
确保你没有
gem 'bootstrap' # Remove this line gem 'bootstrap-sass'
它应该是
gem 'bootstrap-sass'
这个错误主要来自rails 3.2.x版本。 如果您使用rails 3.2版本,则必须在您的gem文件中指定一个特殊版本,如下所示:
gem 'rails', '3.2.0' gem 'bootstrap-sass', '3.2.0.2'
它将解决问题的rails -v '3.2.0'
把它放在gem文件中
gem 'bootstrap-sass', '~> 3.3.5' gem 'sass-rails', '>= 3.2'
然后运行$ bundle install
重新启动服务器。
这就是我解决这个问题的方法。
转到Bootstrap for Sass Github页面并按照说明进行操作:
-
将以下内容添加到Gemfile中
gem'bootstrap-sass','〜> 3.3.6'gem'sass-rails','> = 3.2'
-
运行命令
bundle install
-
启动/重新启动服务器
导轨s
另外,确保该文件具有.scss扩展名(或.sass for Sass语法)。 如果您刚刚生成了新的Rails应用程序,则可能会附带.css文件。 如果这个文件存在,它将被服务而不是Sass,所以重命名它。 然后,删除所有* = require_self和* = require_tree。 来自sass文件的声明。 相反,使用@import导入Sass文件。
如果在运行集成testing时收到此消息,请确保您的资产gem已包含在testing组中。
例如,更改:
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
我观察到了同样的行为。 在我的情况下,我已经删除了“bootstap-sass”的版本,它的工作。 有可能是导致问题的gem版本兼容性问题。
gem文件
gem 'bootstrap-sass'
在gem文件中进行更改后,执行以下命令:
bundle install
如果服务器已经在运行,那么通过“ CTRL + C ”停止它,然后再次启动服务器
rails s
确保在将Gem文件添加到您的Gemfile文件中后,运行以下命令
gem "bootstrap-sprockets", "~>3.3" gem "bootstrap"
现在停止你的服务器并运行以下命令:
bundle install rails server
重新启动您的服务器。 刷新浏览器,你会看到立即反映的变化。 在生产中,您可能需要运行此命令来预编译您的资产:
bundle exec bin/rake assets:precompile
它为我工作。 希望这是有帮助的。