【问题标题】:kernel_require.rb: cannot load such filekernel_require.rb:无法加载此类文件
【发布时间】:2016-10-22 00:17:43
【问题描述】:

我使用 gulp 构建了一个 html 项目。对于一些 css 人员,我使用 compass 来构建。 我的任务如下

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}));
});

当我构建为 gulp 指南针时,我有错误

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。 我将 PATH 导出为

 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)
nyan@nyan-Inspiron-7537:~$ susy -v
susy: command not found

【问题讨论】:

  • 'kernel_require' 不是无法加载的文件,而是加载的文件; kernel_require 正在尝试(但失败)加载的文件是“susy”。
  • @philomory, ic。所以 susy 不见了。让我试试。谢谢
  • @philomory,我已经安装了 susy,你可以在原帖的 EDIT 中看到。但是我输入了 susy -v,找不到 susy 命令。怎么了?
  • @philomory 是的,正确的。我安装了 susy 并且可以正常工作。请问可以回答吗?

标签: ruby-on-rails ruby gulp compass gulp-compass


【解决方案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 州,

在所需文件(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'。

这一切都归结为您的 gulp 文件中有一个指令require: ['susy'],但没有安装“susy”gem。正如您所发现的,安装“susy”(使用gem install susy)解决了这个问题。

您还注意到命令行上的susy -v 给出了错误,但这是一个红鲱鱼; the susy gem 不安装任何命令行工具,只安装 Ruby 代码。

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2016-11-20
    • 2023-03-10
    • 2015-11-20
    相关资源
    最近更新 更多