我试图让gulp-compass在我的 Debian linux 上工作,但收到一条错误消息,指出 Ruby 和 Compass 必须在路径中。当谈到 Gulp 时,我有点初学者,所以我可能是愚蠢的。
以下是运行我在 Gulpfile 中创建的任务时收到的确切错误消息:
events.js:85
throw er; // Unhandled 'error' event
^
Error: You need to have Ruby and Compass installed and in your system PATH for this task to work.
Process finished with exit code 1
我查看了其他类似的问题,这些问题建议做 agem install compass
和 agem install sass
但似乎都不适合我。
我的 Gulpfile 如下:
var gulp = require('gulp'),
compass = require('gulp-compass');
gulp.task('stylesheets', function(){
return gulp.src('**/*.scss')
.pipe(compass({
config_file: './config.rb',
css: 'css',
sass: 'sass'
}))
.pipe(gulp.dest('css'));
});
我可以跑ruby -v
,compass -v
我可以看到这些在我的路径中是正确的,并且echo $PATH
显示 ruby 肯定在那里。
我想知道这是否与我使用 RVM 安装 ruby 或我使用 Bundler 在我的项目中安装 gems 的事实有关。我的 Gemfile 如下:
source 'https://rubygems.org'
gem 'susy'
gem 'compass'
gem 'breakpoint'
我已经安装了 gemsbundle install
并且还尝试了bundle_exec: true
gulp-compass 中的选项(尽管说实话,我真的不知道这是因为不是 Bundler 专家)。我已经尝试重新安装 Ruby。
有人知道为什么我会收到上述错误消息吗?在使用 Grunt 进行类似操作时,我从未遇到过这样的错误。