привязки 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

я исправил эту проблему, удалив существующий и под управлением npm update


Это решение (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 в.


моим решением было понизить рейтинг до v0.10.25 (попробовать sudo n 0.10.25 Если вы используете n)


для меня эта проблема была вызвана в моей системе сборки (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


Не нужно sudo или переустановках. Это всегда срабатывало для меня:

nvm use 0.12.2