Я использую VS2015 и Gulp. Я открываю Task Runner Explorer и нажимаю «Обновить», и это отображается в журнале:
Failed to run "C:\Projects\Test\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
Error: `libsass` bindings not found in C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling `node-sass`?
at Object.sass.getBinaryPath (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\index.js:163:21)
at Module._compile (module.js:456:26)
Поэтому я пытаюсь запустить cmd.exe /c gulp --tasks-simple
PowerShell в том же каталоге, и он отлично работает - возвращает список задач.
Я также могу нормально запускать свои задачи, связанные с SASS, поэтому я не уверен, почему это жалуется на SASS, когда он запускается через VS, а не непосредственно в командной строке.
Кажется, что gulp-sass ищет node-sass в другом месте. Вот временное решение.
создайте новый каталог с именем win32-ia32-11 внутри c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \
Goto https://github.com/sass/node-sass-binaries и скачать win32-ia32-11_binding.node.
Скопируйте файл win32-ia32-11_binding.node в c: \ Projects \ Test \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \ win32-ia32-11 \ и переименуйте его в binding.node
источник
.npmrc
файл с соответствующим параметром конфигурации, но безуспешно. Даже при работеnpm install
с 32-битной консолью PS 64-битные версии все еще устанавливаются.win32-ia32-14
вместоwin32-ia32-11
- что по какой-то причине это то, чтоlibsass
ищет ...Я пробовал все вышеперечисленные решения, но это не работает, и я нашел здесь другое решение .
Вы должны заставить Visual Studio работать с вашей версией Node.js:
Tools
>Options
в Visual Studio 2015Projects and Solutions
>External Web Tools
C:\Program Files\nodejs
источник
Единственное решение, решившее мою проблему, - это переустановка NPM Task Runner. Вы можете скачать его по следующей ссылке на торговой площадке.
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner
источник
node-sass запускает сценарий установки для загрузки необходимого двоичного файла. Если переменные среды, переменные .npmrc или аргументы процесса не заданы, то двоичный файл определяется с использованием текущей платформы процесса, архитектуры и версии Node ABI. Следовательно, если вы запустите установку узла в одном приложении, а затем попытаетесь запустить node-sass в приложении с другой платформой / архитектурой / ABI, двоичный файл не будет загружен. Решение состоит в том, чтобы вручную загрузить двоичный файл или исправить двоичную версию с помощью переменной среды (SASS_BINARY_NAME) или переменной .npmrc (sass_binary_name)
Вы можете увидеть логику этого в функции getBinaryPath в node-sass \ lib \ extensions.js
См. Также: Node Sass не может найти привязку для вашей текущей среды
источник