导入的文件未找到或无法读取:bootstrap(Bootstrap,Rails,Sass 错误)

16

这是我的application.css.scss

/*
 *= require_self
 *= require_tree .
 *= require social-share-button
 */

我正在使用这个宝石 - https://github.com/twbs/bootstrap-sass

根据说明,这是我在Gemfile中的:assets组:

group :assets do
  gem 'sass-rails', '~> 4.0.3'
  gem 'uglifier', '>= 1.3.0'
  gem 'coffee-rails', '~> 4.0.0'
  gem "font-awesome-rails"
  gem 'bootstrap-sass', '~> 3.2.0'
  gem 'autoprefixer-rails'
end

我创建了一个名为bootstrap_and_overrides.css.scss的文件,其内容如下:

@import "bootstrap-sprockets";
@import "bootstrap";
@import "bootstrap-responsive";
@import "font-awesome";

这是错误:

Sass::SyntaxError at /
File to import not found or unreadable: bootstrap-sprockets.
/app/assets/stylesheets/bootstrap_and_overrides.css.scss:1)

这是我的application.js文件:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap
//= require bootstrap-sprockets
//= require social-share-button
//= require_tree .

我已经多次重启了我的服务器,并从隐身窗口查看了我的应用程序。

我正在使用Rails 4.1.1和Ruby 2.1.1。

有什么建议吗?

更新1:

值得一提的是,这是我的app/assets/stylesheets/目录下的内容:

$ ls
application.css.scss            bootstrap.css               font-awesome.min.css
bootstrap-social.css            bootstrap.min.css           locations.css.scss
bootstrap-theme.css         bootstrap_and_overrides.css.scss    main.css
bootstrap-theme.min.css         font-awesome.css            posts.css.scss

1
这个问题与任何你想要导入的Sass文件有关,不仅仅是Bootstrap。 - y0mbo
4个回答

35

我弄清楚问题所在了。

问题是我正在使用一个:assets群组,而这在Rails 4中已被删除。

http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0-gemfile

**4.2 Gemfile**
Rails 4.0 removed the assets group from Gemfile. You'd need to remove that line from your Gemfile when upgrading. 

我把它们从资产组中移除后,删除了我的 Gemfile.lock 然后运行 bundle install...一切都完美地工作了。

希望这能帮助其他一些可怜的灵魂。


7

我刚刚经历了相同的问题。

File to import not found or unreadable: bootstrap-sprockets

我尝试重新启动开发服务器,再次运行“rails s”,一切正常!

0

我曾经遇到过类似的问题,但解决方法如下:

  • 关闭 Rails 服务器
  • 在 Gemfile 文件中添加指令 gem 'bootstrap-sass', '3.3.6'
  • 在服务器终端运行 bundle install 命令
  • 重新启动 Rails 服务器

需要注意的是,我使用的是最新版本的 Rails - Rails 5.0.1,因此不像 4.2 版本那样需要删除 Gemfile 中的 asset do 指令。


我对这个解决方案感到困惑。 bootstrap-sass gem 不是针对 Bootstrap3 的吗,而 bootstrap gem 是针对 Bootstrap4 的吗?需要依赖早期的 gem 看起来有些奇怪,或者是我漏看了什么吗? - Greg

-2

这对我有用

gem 'bootstrap-sass', :git => 'https://github.com/twbs/bootstrap-sass.git', :branch => 'next'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接