Я хочу использовать модуль node-sass
в моем приложении 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 и как это исправить, но это не так моя машина.
Я не мог найти ничего полезного, поэтому надеюсь, что вы поможете мне.
Я использую node v0.12.2 под Ubuntu 14.10.
P.S.: Я уже пытался переустановить node -sass, но безуспешно. Ничего не меняется.
Вероятно, вы пытались переустановить node -sass при использовании
npm install node-sass
или
npm uninstall node-sass
npm install node-sass
Но node -sass - это C-версия Sass. Вы должны использовать npm rebuild:
npm rebuild node-sass
Если вы используете node 4.x или позже, вам необходимо переустановить gulp -sass с помощью
npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2
Я исправил эту проблему, удалив существующую папку /node_modules
и запустив npm update
node_modules
и повторный запуск npm install
работают для меня.
Это единственное решение, которое сработало для меня,
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
Это обходное решение (http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20) сработало.
Начиная с этой настройки:
Кордова CLI: 5.3.3 Gulp версия: версия CLI 3.9.0 Gulp local: Локальная версия 3.9.0 Ионная версия: 1.1.0 Ионная версия CLI: 1.6.5 Ionic App Lib Версия: 0.3.9 Версия ios-deploy: не установлена Версия ios-sim: 5.0.1 ОС: Mac OS X Yosemite Node Версия: v4.1.1 Версия Xcode: Xcode 6.4 Build версия 6E35b
Я нашел решение, чтобы избежать использования команды "sudo". Нам нужно прежде, чем исправить разрешения npm, следующие за этим: https://docs.npmjs.com/getting-started/fixing-npm-permissions и исправления разрешений для Node здесь: http://mawaha.com/permission-fix-node-js/ После этого мы можем проверить и переустановить программное обеспечение без "sudo" для npm, n или ionic.
Я выполнил следующий шаг:
npm install -g n
rm -R node_modules/
npm install [email protected]
npm -g install node-gyp@3
npm uninstall gulp-sass
npm install gulp-sass@2
npm rebuild node-sass
ionic setup sass
Почему node [email protected]? Поскольку он работает с новейшей ионной версией: https://github.com/driftyco/ionic/pull/4449
Сочетание двух ответов выше работало для меня, плюс дополнения:
sudo npm uninstall --save gulp-sass
npm install --save gulp-sass@2
npm update
npm rebuild node-sass
Я решил это создать правильный каталог с указанным файлом binding.node. Вы можете загрузить привязки из github
https://github.com/sass/node-sass-binaries
Посмотрите в сообщении об ошибке путь, где он пытается найти привязку. В моем случае:
C:\Users\Мартейн\Documents\node_modules\gulp -sass\ node_modules\node -sass\поставщика\win32-x64-46
Итак, я создаю эту карту win32-x64-46 и копирую привязку из github.
Мое решение состояло в том, чтобы перейти на v0.10.25
(попробуйте sudo n 0.10.25
, если вы используете n
)
Это была проблема с версией Node для меня, попробуйте использовать nvm для возврата вашей версии на что-то вроде: 0.10.32. Это сработало для меня. Я работал 4.2.2
Для меня эта проблема была вызвана в моей системе сборки (Travis CI), сделав что-то вроде немого в моем файле .travis.yml
. Фактически, я вызывал npm install
до nvm use 0.12
, и это вызывало node-sass
для 0.10
вместо 0.12
. Мое решение просто перемещало nvm use
из раздела .travis.yml
files before_script
до команды npm install
, которая находилась в разделе before_install
.
Нет необходимости в sudo или переустановке. Это всегда срабатывало для меня:
nvm use 0.12.2
Я решил эту проблему с помощью обновления моего gcc с 4.4.x до 4.7.x
npm rebuild node-sass
, который избавился от ошибки для меня / моего окружения.