2015-05-16 4 views
2

Я пытаюсь получить gulp-compass для работы с моим Linux-файлом Debian, но получаю сообщение об ошибке, указывающее, что Ruby и Compass должны быть на пути. Я немного начинаю, когда дело доходит до Gulp, поэтому, наверное, я глуп.gulp-compass просит Ruby и Compass в PATH, когда они уже есть

Ниже приводится точное сообщение об ошибке я получаю при выполнении задачи я создаю в моем 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 

Я просмотрел другие подобные вопросы, предлагает сделать gem install compass и gem 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 показывает, что рубин, безусловно, есть.

Мне интересно, если это проблема с установкой рубинов с RVM или тем фактом, что я использую Bundler для установки драгоценных камней в моем проекте. Мой Gemfile выглядит следующим образом:

source 'https://rubygems.org' 
gem 'susy' 
gem 'compass' 
gem 'breakpoint' 

Я установил камни с bundle install и также попробовал bundle_exec: true вариант в глотке компасе (хотя по правде говоря, я не знаю, что это за не Bundler эксперт). Я попытался переустановить Ruby.

Кто-нибудь знает, почему я получаю сообщение об ошибке выше? У меня никогда не было таких ошибок, когда вы делали похожие с Grunt.

+0

Убедитесь, что вы уточнили свой вопрос в теле сообщения. Вы всегда можете обновить свой вопрос. Добро пожаловать в переполнение стека, рекомендуемое чтение: http://stackoverflow.com/help/how-to-ask –

+0

Спасибо! Вопросы, связанные с формулировкой, никогда не были одним из моих сильных сторон - я попытался изменить его, насколько я могу –

ответ

0

Мне, наконец, удалось обойти это. Я удалил RVM с rvm implode, а затем снова установил Ruby с обычным apt-get install ruby.

Как только я это сделал, все работало нормально. Я должен был сделать небольшой твик моего gulpfile так теперь:

var gulp = require('gulp'), 
compass = require('gulp-compass'); 

gulp.task('stylesheets', function(){ 
    console.log(); 
    return gulp.src('sass/**/*.scss') 
     .pipe(compass({ 
      config_file: './config.rb', 
      css: 'css', 
      sass: 'sass' 
     })) 
     .pipe(gulp.dest('css')); 
}); 

Это не совсем идеальным, как я теперь застрял с более старой версией Ruby (рубиновый 2.1.5p273), когда ток стабильный выпуск (на момент написания) - 2.2.2. Я бы предпочел использовать RVM, но сейчас это будет сделано.