привязки libsass не найдены при использовании node-sass в nodejs
Я хочу использовать node-sass
модуль в my node.js v0.12
применение, чтобы извлечь выгоду из производительности libsass
.
Я казнил npm i node-sass
чтобы установить модуль, ошибок пока нет.
теперь начинается беспорядок:
Если я просто открою REPL
в терминале, чтобы попробовать node-sass
тогда все работает нормально, но если я включу его в свои файлы проекта и запустите node myfile.js
затем я получаю следующее сообщение об ошибке:
Error: `libsass` bindings not found. Try reinstalling `node-sass`?
описание модуля на npmjs.com гласит, что может быть проблема с разрешением #!/usr/bin/env node
под Ubuntu и как это исправить, но это не так на моей машине.
Я не смог найти ничего полезного, поэтому надеюсь, что вы мне поможете.
Я использую узел v0.12.2 под Ubuntu 14.10.
P. S.: Я уже пытался переустановить узел-Сасс, но без успеха. Ничего не меняется.
12 ответов
вы, вероятно, пытались переустановить node-sass при использовании
npm install node-sass
или
npm uninstall node-sass
npm install node-sass
но node-sass-это C-версия Sass. Вы должны использовать npm rebuild:
npm rebuild node-sass
Если вы используете узел 4.x или позже вам нужно переустановить gulp-sass с помощью:
npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2
Это решение (http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20) работала форма меня.
начиная с этой установкой:
Cordova CLI: 5.3.3 Версия глотка: версия CLI 3.9.0 Gulp local: локальная версия 3.9.0 Ионные Версия: 1.1.0 Ионная версия CLI: 1.6.5 Ионная Версия Приложения Lib: 0.3.9 ios-версия развертывания: не установлена версия ios-sim: 5.0.1 OS: Mac OS X Yosemite Версия узла: v4.1.1 Версия Xcode: Xcode 6.4 версия сборки 6E35b
Я нашел решение, чтобы избежать использования команды "sudo". Нам нужно прежде исправить НПМ разрешения после этого: https://docs.npmjs.com/getting-started/fixing-npm-permissions и фиксации разрешения для узла здесь: http://mawaha.com/permission-fix-node-js/ После этого мы можем проверить и переустановить программное обеспечение без 'судо' для НПМ, N или ионной.
я следовал этому шагу:
npm install -g n
rm -R node_modules/
npm install node-sass@3.3.3
npm -g install node-gyp@3
npm uninstall gulp-sass
npm install gulp-sass@2
npm rebuild node-sass
ionic setup sass
почему node-sass@3.3.3? Потому что он работает с последняя версия ionic:https://github.com/driftyco/ionic/pull/4449
это единственное решение, которое сработало для меня,
sudo npm install -g n
sudo n 0.12.7
npm install node-sass@2
sudo npm -g install node-gyp@3
npm rebuild node-sass
объединение двух ответов выше работало для меня, плюс дополнения:
sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass
Я решил создать каталог с указанным обязательным.файл узла. Вы можете скачать привязки из github
https://github.com/sass/node-sass-binaries
посмотрите в сообщении об ошибке путь, где он пытается найти привязку. В моем случае:
C:\Users\Martijn\Documents\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64-46
поэтому я создаю эту карту win32-x64-46 и копирую привязку из GitHub в.
для меня эта проблема была вызвана в моей системе сборки (Travis CI), сделав что-то вроде тупого в моем . По сути, я звал npm install
до nvm use 0.12
, и это вызывало node-sass
для 0.10
вместо 0.12
. Мое решение просто двигалось nvm use
из .travis.yml
файла до npm install
команда, которая была в .
Это была проблема с версией узла для меня, попробуйте использовать nvm для отслеживания вашей версии до чего-то вроде: 0.10.32. Это сработало для меня. Я бежал 4.2.2
Я решил эту проблему с помощью обновление моего gcc с 4.4.от x до 4.7.x