Intellij IDEA / File Watcher:bootstrap 未找到要导入的文件

Intellij IDEA / File Watcher: bootstrap file to import not found

我尝试在 中的 rails 项目上设置 bootstrap-sass ruby Intellij IDEA 使用 File Watchers 插件自动编译 .scss 文件。文件观察器是默认配置的。 我导入 bootstrap 个库

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

在我的 app/assets/stylesheets/application.css.scss 当文件观察器执行时,我在新创建的 .css 文件中得到以下输出:

  /*
Error: File to import not found or unreadable: bootstrap-sprockets.
       Load paths:
         
        on line 1 of application.css.scss

1: @import "bootstrap-sprockets";
2: @import "bootstrap";

Backtrace:
application.css.scss:1
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/import_node.rb:66:in `rescue in import'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/import_node.rb:45:in `import'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/import_node.rb:28:in `imported_file'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/import_node.rb:37:in `css_import?'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:311:in `visit_import'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `map'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `visit_children'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `block in visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:157:in `visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:8:in `visit'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:36:in `css_tree'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:29:in `render_with_sourcemap'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/engine.rb:368:in `_render_with_sourcemap'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/engine.rb:285:in `render_with_sourcemap'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/plugin/compiler.rb:490:in `update_stylesheet'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/plugin/compiler.rb:209:in `each'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/plugin/compiler.rb:209:in `update_stylesheets'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/plugin.rb:82:in `update_stylesheets'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/exec/sass_scss.rb:361:in `watch_or_update'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/exec/sass_scss.rb:51:in `process_result'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/exec/base.rb:52:in `parse'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/lib/sass/exec/base.rb:19:in `parse!'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.13/bin/scss:13:in `<top (required)>'
/usr/bin/scss:23:in `load'
/usr/bin/scss:23:in `<main>'
*/
body:before {
  white-space: pre;
  font-family: monospace;
  content: "Error: File to import not found or unreadable: bootstrap-sprockets.\A        Load paths:\A          \A         on line 1 of application.css.scss\A \A 1: @import \"bootstrap-sprockets\";\A 2: @import \"bootstrap\";"; }

  

  
文件观察器似乎无法识别 ruby bootstrap 库的路径。 关于如何修复它有什么想法吗?

我的宝石文件:

source 'http://rubygems.org'

    gem 'bootstrap-sass'
    gem 'rails', '4.2.1'
    gem 'sqlite3'
    gem 'sass-rails', '~> 5.0'

gemfile.lock

GEM
  remote: http://rubygems.org/
  specs:
actionmailer (4.2.1)
  actionpack (= 4.2.1)
  actionview (= 4.2.1)
  activejob (= 4.2.1)
  mail (~> 2.5, >= 2.5.4)
  rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.1)
  actionview (= 4.2.1)
  activesupport (= 4.2.1)
  rack (~> 1.6)
  rack-test (~> 0.6.2)
  rails-dom-testing (~> 1.0, >= 1.0.5)
  rails-html-sanitizer (~> 1.0, >= 1.0.1)
actionview (4.2.1)
  activesupport (= 4.2.1)
  builder (~> 3.1)
  erubis (~> 2.7.0)
  rails-dom-testing (~> 1.0, >= 1.0.5)
  rails-html-sanitizer (~> 1.0, >= 1.0.1)
activejob (4.2.1)
  activesupport (= 4.2.1)
  globalid (>= 0.3.0)
activemodel (4.2.1)
  activesupport (= 4.2.1)
  builder (~> 3.1)
activerecord (4.2.1)
  activemodel (= 4.2.1)
  activesupport (= 4.2.1)
  arel (~> 6.0)
activesupport (4.2.1)
  i18n (~> 0.7)
  json (~> 1.7, >= 1.7.7)
  minitest (~> 5.1)
  thread_safe (~> 0.3, >= 0.3.4)
  tzinfo (~> 1.1)
arel (6.0.0)
autoprefixer-rails (5.1.8)
  execjs
  json
bootstrap-sass (3.3.4.1)
  autoprefixer-rails (>= 5.0.0.1)
  sass (>= 3.2.19)
builder (3.2.2)
erubis (2.7.0)
execjs (2.5.0)
globalid (0.3.3)
  activesupport (>= 4.1.0)
hike (1.2.3)
i18n (0.7.0)
json (1.8.2)
loofah (2.0.1)
  nokogiri (>= 1.5.9)
mail (2.6.3)
  mime-types (>= 1.16, < 3)
mime-types (2.4.3)
mini_portile (0.6.2)
minitest (5.5.1)
multi_json (1.11.0)
nokogiri (1.6.6.2)
  mini_portile (~> 0.6.0)
rack (1.6.0)
rack-test (0.6.3)
  rack (>= 1.0)
rails (4.2.1)
  actionmailer (= 4.2.1)
  actionpack (= 4.2.1)
  actionview (= 4.2.1)
  activejob (= 4.2.1)
  activemodel (= 4.2.1)
  activerecord (= 4.2.1)
  activesupport (= 4.2.1)
  bundler (>= 1.3.0, < 2.0)
  railties (= 4.2.1)
  sprockets-rails
rails-deprecated_sanitizer (1.0.3)
  activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.6)
  activesupport (>= 4.2.0.beta, < 5.0)
  nokogiri (~> 1.6.0)
  rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.2)
  loofah (~> 2.0)
railties (4.2.1)
  actionpack (= 4.2.1)
  activesupport (= 4.2.1)
  rake (>= 0.8.7)
  thor (>= 0.18.1, < 2.0)
rake (10.4.2)
sass (3.4.13)
sass-rails (5.0.3)
  railties (>= 4.0.0, < 5.0)
  sass (~> 3.1)
  sprockets (>= 2.8, < 4.0)
  sprockets-rails (>= 2.0, < 4.0)
  tilt (~> 1.1)
sprockets (2.12.3)
  hike (~> 1.2)
  multi_json (~> 1.0)
  rack (~> 1.0)
  tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.2.4)
  actionpack (>= 3.0)
  activesupport (>= 3.0)
  sprockets (>= 2.8, < 4.0)
sqlite3 (1.3.10)
thor (0.19.1)
thread_safe (0.3.5)
tilt (1.4.1)
tzinfo (1.2.2)
  thread_safe (~> 0.1)

PLATFORMS
  ruby

DEPENDENCIES
  bootstrap-sass
  rails (= 4.2.1)
  sass-rails (~> 5.0)
  sqlite3

通常,在 rails 项目中,*.scss 文件不应使用外部工具(例如 "File Watchers")手动编译为 .css。通常,Rails 上的 Ruby 在处理请求时在幕后管理转译。 无论如何,可以配置 "File Watchers":

Program: /path/to/scss
Arguments: --require bootstrap-sass $FileName$ $FileNameWithoutExtension$.css
Working directory: $FileDir$
Output path to refresh: $FileNameWithoutExtension$.css:$FileNameWithoutExtension$.css.map

在以下环境中测试:

$ scss --version
Sass 3.4.13 (Selective Steve)
  • ruby 2.1.5p273
  • bootstrap-sass 3.3.4.1