2016-10-22 151 views
0

我用gulp來構建一個html項目。對於一些css員工,我使用指南針來構建。 我有任務,遵循kernel_require.rb:無法加載這樣的文件

gulp.task('compass',function(){ 
    gulp.src('public_html/app/scss/style.scss') 
      //.pipe(plumber()) 
      .pipe(compass({ 
       config_file: './config.rb', 
       css: 'public_html/app/css', 
       sass: 'public_html/app/scss', 
       require: ['susy'] 
      })) 
      //.pipe(autoprefixer('last 2 versions')) 
      .pipe(gulp.dest('public_html/app/css')) 
      .pipe(reload({stream:true})); 
}); 

當我建立的一飲而盡指南針,我有錯誤的

LoadError on line ["55"] of ~/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb: cannot load such file -- susy 
Run with --trace to see the full backtrace 


events.js:72 
     throw er; // Unhandled 'error' event 
      ^
Error: Compass failed 

我有確切的文件夾,該文件kernel_require.rb。 我導出路徑爲

export PATH=$PATH:~/.rbenv/versions/2.3.1/lib 
export PATH=$PATH:~/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext 

但不起作用。如何解決這個錯誤?

感謝

編輯:

gem list 

*** LOCAL GEMS *** 

cairo (1.12.8) 
chunky_png (1.3.7) 
compass-core (1.0.3) 
compass-import-once (1.0.5) 
execjs (2.7.0) 
gettext (3.0.3) 
locale (2.1.0) 
multi_json (1.12.1) 
rb-fsevent (0.9.7) 
rdoc (3.9.4) 
sass (3.4.22) 
susy (2.2.12) 
text (1.2.1) 
[email protected]:~$ susy -v 
susy: command not found 
+0

'kernel_require'不是無法加載的文件,而是加載的文件; kernel_require嘗試(和失敗)加載的文件是'susy'。 – philomory

+0

@philomory,ic。所以susy是missing.let我嘗試。謝謝 – batuman

+0

@philomory,我已經安裝了susy,你可以在原文中看到編輯。但是我輸入susy -v,susy命令沒有找到。哪裏不對? – batuman

回答

1

你是錯誤解釋的錯誤消息:

LoadError on line ["55"] of ~/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb: cannot load such file -- susy 

第一部分,LoadError,告訴你,你遇到了什麼類型的錯誤; the documentation for LoadError states,

當文件需要(Ruby腳本,擴展庫,...)加載失敗時引發。

require 'this/file/does/not/exist'

引發異常:

LoadError: no such file to load -- this/file/does/not/exist

錯誤消息,on line ["55"] of ~/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:的下一部分,告訴你發生錯誤,就是一些代碼段稱爲另一段代碼,它調用另一段代碼,最終導致文件'kernel_require.rb'的第55行,該文件是RubyGems基礎結構的一部分。最終,這條線觸發了LoadError。

錯誤消息的最後部分cannot load such file -- susy爲您提供有關該問題的詳細信息;特別是在LoadError這樣的情況下,它會告訴你它試圖加載(和失敗)的文件:'susy'。

這一切都歸結爲你在你的吞噬文件require: ['susy']中有一個指令,但沒有安裝'susy'gem。正如你發現的那樣,安裝'susy'(用gem install susy)解決了這個問題。

您還注意到在命令行上的susy -v發生了錯誤,但這是一條紅鯡魚; the susy gem不安裝任何命令行工具,只有Ruby代碼。

相關問題