Ошибка Node/Gulp (не удается загрузить gulp-sass) за пределами Visual Studio

Мы настраиваем Gulp с нашим проектом VS. При запуске задач из VS Task Runner они работают без нареканий, а из командной строки - сбой.

Пакет.json:

{
  "name": "OurProject",
  "description": "OurProject",
  "repository": {
    "type": "git",
    "url": "https://github.com/something.git"
  },
  "private": true,
  "devDependencies": {
    "gulp": "^3.9.0",
    "gulp-cached": "^1.1.0",
    "gulp-coffee": "^2.3.1",
    "gulp-notify": "^2.2.0",
    "gulp-sass": "^2.0.4",
    "gulp-sourcemaps": "^1.5.2"
  }
}

Gulpfile.js (упрощенный):

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

gulp.task('scss-compile', function () {
    return gulp
        .src("./Web/css/**/*.scss")
        .pipe(sass())
        .pipe(gulp.dest("./Web/css"));
});

Visual Studio утверждает, что использует эту командную строку:

cmd.exe /c gulp -b "C:\AbsoluteProjectPath" --color --gulpfile "C:\AbsoluteProjectPath\Gulpfile.js" scss-compile

Что не сработает, если я попробую, потому что не могу найти Gulp. Итак, я изменил текущий каталог на C:\AbsoluteProjectPath и запустил:

cmd.exe /c node_modules\.bin\gulp -b "C:\AbsoluteProjectPath" --color --gulpfile "C:\AbsoluteProjectPath\Gulpfile.js" scss-compile

И я получил следующее:

C:\AbsoluteProjectPath\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148
    throw new Error(['`libsass` bindings not found in ', binaryPath, '. Try re
          ^
Error: `libsass` bindings not found in C:\AbsoluteProjectPath\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-14\binding.node. Try reinstalling `node-sass`?
    at Object.sass.getBinaryPath (C:\AbsoluteProjectPath\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
    at Object.<anonymous> (C:\AbsoluteProjectPaths\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (C:\AbsoluteProjectPath\node_modules\gulp-sass\index.js:163:21)
    at Module._compile (module.js:460:26)

Теперь этой папки win32-ia32-14 не существует. Вместо него стоит win32-ia32-11.

Что здесь может происходить?


person Diego Mijelshon    schedule 12.08.2015    source источник
comment
Вы пытались запустить его из node.js для Windows, должно работать   -  person harishr    schedule 12.08.2015


Ответы (1)


Оказалось, что Visual Studio использует другую версию node.js, которая разрешается в другой список пакетов.

person Diego Mijelshon    schedule 12.08.2015