Twitter bootstrap 语法错误,要导入的文件找不到或不可读:compass\u twitter\u引导

Twitter bootstrap 语法错误,要导入的文件找不到或不可读:compass\u twitter\u引导,twitter-bootstrap,ruby-on-rails-2,Twitter Bootstrap,Ruby On Rails 2,我想使用compass\u twitter\u引导。以下是我所做的: (一) 我的档案: gem 'compass' gem 'compass-rails' gem 'compass_twitter_bootstrap' (二) 配置文件夹下的My compass.rb: require 'compass_twitter_bootstrap' project_type = :rails http_path = "/" css_dir = "public/stylesheets" sass_di

我想使用compass\u twitter\u引导。以下是我所做的:

(一)

我的档案:

gem 'compass'
gem 'compass-rails'
gem 'compass_twitter_bootstrap'
(二)

配置文件夹下的My compass.rb:

require 'compass_twitter_bootstrap'
project_type = :rails
http_path = "/"
css_dir = "public/stylesheets"
sass_dir = "public/stylesheets/sass"
(三)

我在public/stylesheets/sass下创建了一个scss文件,并添加了@import“compass\u twitter\u bootstrap”;在文件的顶部

(四)

我还将样式表链接标记添加到了我的html.erb文件中

但是,当我运行服务器时,会出现以下错误:

syntax error, file to import not found or unreadable: compass_twitter_bootstrap load path: my_project_directory/public/stylesheets/sass 语法错误,要导入的文件找不到或不可读:compass\u twitter\u引导
加载路径:my_project_directory/public/stylesheets/sass这是Rails应用程序还是Rails插件

如果它是Rails插件,说明它与虚拟应用程序在您的文件中查找的内容有关。基本上,不要像在Rails应用程序中那样使用
group:assets
。不要使用
group\uuuuuu任何东西\uuuuuuu
来解决这个问题

组中的任何内容都不会加载,因为Bundler.require(test/dummy/config/application.rb的第5行)不接受任何参数。将其与Rails应用程序中相应的代码行进行比较,其中包含Rails.env组(即:production或:development或:test),有时还包含:assets

当然,另一个选项是将arg传递给
Bundler.require,用于GEM文件中要包含的每个组。如果执行此操作,请确保包含:default

于当天晚些时候11月29日添加:


为了澄清,错误的真正原因是@import指令在CSS中的含义与在Sass中的含义不同。我上面的回答真正解决了为什么文件被解析为CSS而您希望它被解析为Sass的问题。要将其解析为Sass,需要包括Sass-rails-gem。除了上面的答案之外,可能还有其他原因,因此,即使您使用的是Rails应用程序,问题不在于Bundler是否在:assets组中包含gems,也可能有其他原因导致sass Rails在您预期的情况下未被包含。检查您的GEM文件以确保sass rails在那里,如果它在一个组中,请尝试将其移出,看看这是否会改变情况。

这是rails应用程序还是rails插件

如果它是Rails插件,说明它与虚拟应用程序在您的文件中查找的内容有关。基本上,不要像在Rails应用程序中那样使用
group:assets
。不要使用
group\uuuuuu任何东西\uuuuuuu
来解决这个问题

组中的任何内容都不会加载,因为Bundler.require(test/dummy/config/application.rb的第5行)不接受任何参数。将其与Rails应用程序中相应的代码行进行比较,其中包含Rails.env组(即:production或:development或:test),有时还包含:assets

当然,另一个选项是将arg传递给
Bundler.require,用于GEM文件中要包含的每个组。如果执行此操作,请确保包含:default

于当天晚些时候11月29日添加:

为了澄清,错误的真正原因是@import指令在CSS中的含义与在Sass中的含义不同。我上面的回答真正解决了为什么文件被解析为CSS而您希望它被解析为Sass的问题。要将其解析为Sass,需要包括Sass-rails-gem。除了上面的答案之外,可能还有其他原因,因此,即使您使用的是Rails应用程序,问题不在于Bundler是否在:assets组中包含gems,也可能有其他原因导致sass Rails在您预期的情况下未被包含。检查您的Gemfile,确保sass-rails在那里,如果它在一个组中,请尝试将其移出,看看这是否会改变情况