ruby-on-rails - Intellij IDEA/文件监视程序: bootstrap file to import not found

标签 ruby-on-rails twitter-bootstrap intellij-idea compiler-errors sass

我尝试在 Intellij IDEA 中的rails项目中设置 bootstrap-sass ruby​​ on rails项目,以便使用 File Watchers 插件自动编译 .scss 文件。默认情况下配置文件监视程序。
我导入 bootstrap 库

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

在我的应用程序/ Assets /样式表/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库的路径。
关于如何解决它的任何想法?

我的gemfile:

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项目中,不应使用外部工具(例如“File Watchers”)将* .scss文件手动编译为.css。通常,Ruby on Rails在处理请求时会在后台管理代码转换。
无论如何,可以配置“文件监视程序”:

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
  • 关于ruby-on-rails - Intellij IDEA/文件监视程序: bootstrap file to import not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29489375/

    相关文章:

    java - ruby安装elasticsearch失败

    android - 当客户端是 native 移动应用程序时,处理向导流程的 Rails API 最佳实践?

    ruby-on-rails - 如何在rails Devise gem中为单个用户关联多个电子邮件

    jquery - jqGrid : How to add CSS class for a row with specific criteria

    java - Maven 3.0.5 和 IntelliJ 12 构建两个 jar 文件

    javascript - Ajaxified 星级评分系统未正确更新

    javascript - 单击模态内的 div 时隐藏 Bootstrap 模态

    html - Bootstrap 渲染不一致

    java - IntelliJ IDEA 中的 scala 包导入错误

    java - Intellij idea插件设置面板在idea 2016上停止工作