質問

gulpでsassをコンパイルしようとすると、下記エラーが発生します。

[RubySass] Error in plugin 'gulp-ruby-sass'
Message:
    spawn ENOENT: Missing the Sass executable. Please install and make available on your PATH.

rootユーザでgulpを実行した際は上記エラーは出ませんが、他のユーザで実行した際はエラーが出ます。
処理の関係上、rootユーザ以外のユーザでgulpを行いたく、上記エラーの解決方法をご教授いただければと思います。

実行概要

OS : CentOS6.5
使用プラグイン:gulp-ruby-sass

gulpのタスクファイル

'use strict';

~~~~~ 中略 ~~~~~~~

gulp.task('styles', function () {
  var sassOptions = {
    style: 'expanded'
  };

  ~~~~~ 中略 ~~~~~~~

  return gulp.src([
    path.join(conf.paths.src, '/app/index.scss')
  ])
    .pipe($.inject(injectFiles, injectOptions))
    .pipe(wiredep(_.extend({}, conf.wiredep)))
    .pipe($.rubySass(sassOptions)).on('error', conf.errorHandler('RubySass'))
    .pipe(cssFilter)
    .pipe($.sourcemaps.init({ loadMaps: true }))
    .pipe($.autoprefixer()).on('error', conf.errorHandler('Autoprefixer'))
    .pipe($.sourcemaps.write())
    .pipe(cssFilter.restore())
    .pipe(gulp.dest(path.join(conf.paths.tmp, '/serve/app/')))
    .pipe(browserSync.reload({ stream: true }));
});

Sassのインストール方法

[root@remote]$ sudo gem install sass
[root@remote]$ sass -v
Sass 3.4.18 (Selective Steve)

この状況で、rootユーザであればgulpを実行しても問題なく動作します。

[root@remote]$ sass -v
Sass 3.4.18 (Selective Steve)

[root@remote]$ gulp
[09:06:18] Using gulpfile /path/to/gulp/task/file
[09:06:18] Starting 'clean'...
[09:06:19] Finished 'clean' after 134 ms
[09:06:19] Starting 'default'...
[09:06:19] Starting 'scripts'...
[09:06:19] Starting 'styles'...
[09:06:20] Starting 'partials'...
[09:06:20] Starting 'fonts'...
[09:06:20] Starting 'other'...
[09:06:20] Finished 'default' after 1.81 s
[09:06:21] gulp-inject 3 files into index.scss.
[09:06:24] gulp-ruby-sass: directory       <-------------- うまくいく
      write index.css
      write index.css.map
[09:06:25] Finished 'styles' after 6.16 s
~~~~~ 略 ~~~~~~~

ところが、別ユーザだと

[user1@remote]$ sass -v
Sass 3.4.18 (Selective Steve)

[user1@remote]$ sudo gulp
[09:09:37] Using gulpfile /path/to/gulp/task/file
[09:09:37] Starting 'clean'...
[09:09:37] Finished 'clean' after 155 ms
[09:09:37] Starting 'default'...
[09:09:37] Starting 'scripts'...
[09:09:37] Starting 'styles'...
[09:09:38] Starting 'partials'...
[09:09:38] Starting 'fonts'...
[09:09:39] Starting 'other'...
[09:09:39] Finished 'default' after 1.84 s
[09:09:39] gulp-inject 3 files into index.scss.
[09:09:39] [RubySass] Error in plugin 'gulp-ruby-sass'     <-------------- 失敗
Message:
    spawn ENOENT: Missing the Sass executable. Please install and make available on your PATH.
[09:09:39] Finished 'styles' after 2.04 s
~~~~~ 略 ~~~~~~~

となります。

他にも、sassをbundleインストール後、gulpタスクファイルでbundle exectrueに、てbundleでsassを呼び出す方法も試しましたが、同じエラーが出てきました。

gulpでの処理は、capistranoでdeployユーザとして行うため、rootユーザでは無く他のユーザでも処理が行えるようにしたいのです。

丸一日ハマりましたが、解決方法が見いだせないでいます。。。
長文となってしまい大変申し訳ございません。どなたがご教授いただけると幸いです。