Спробуйте перевстановити `node-sass` на вузол 0,12?


263

Мені хотілося б скористатись веб-набором для Google. Я встановив node.js v0.12.0, node-sass& gulp.

А потім побіг:

$ sudo npm install

Коли я набрав, gulp serveто отримав цю помилку:

Using gulpfile ~/web-starter-kit/gulpfile.js Starting 'styles'... 'styles' errored after 93 ms 
Error: `libsass` bindings not found. Try reinstalling `node-sass`? at getBinding

Я перевстановив вузол і глот, але це не допомагає.

Що мені робити далі?


Зменшувальний вузол працював на мене.
zero_cool

Відповіді:


386

Якщо версія вашого вузла 4, а ви використовуєте gulp-sass, спробуйте

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass@2

5
виправлена ​​проблема
сформуйте

Для мене виправлено і на Debian 8.1 та Node 4.1. Дуже дякую.
VinceOPS

3
Дякую. Ймовірно, цю відповідь слід позначити як "правильну")
Павло Пака-Вака Селезньов

1
Дякую, витратили багато часу, намагаючись вирішити це, і це рішення, яке спрацювало!
HjalmarCarlson

1
Також вирішує проблему на v6.9.2 станом на грудень 2016 року. Дякую!
цифрові формули

341

Я знайшов цю корисну команду:

npm rebuild node-sass

З rebuild документації :

Це корисно при встановленні нової версії вузла (або переключення версій вузла), і потрібно перекомпілювати всі ваші додатки C ++ з новим бінарним файлом node.js.

http://laravel.io/forum/10-29-2014-laravel-elixir-sass-error


5
Є багато помилок, як Python not supported byіFailed at the node-sass@0.8.6 install script 'node build.js'
AlikElzin-kilaka

14
Це має бути прийнятою відповіддю, оскільки це робить мінімальну роботу для виправлення фактичної проблеми.
TheHippo

1
@ AlikElzin-kilaka: Переконайтесь, що у вас встановлений Python та встановлена змінна середовища PYTHON для вказівки на встановлення.
Roope Hakulinen

2
Я спробував це раніше, ніж усе інше, і це спрацювало чудово. Ура
ConorLuddy,

15
Я отримуюError: Cannot find module 'node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
lrkwz

233

Я зіткнувся з цією помилкою за допомогою вузла, 0.12.0і це було виправлено, видаливши існуючий /node_modulesкаталог та запустивши npm update.


Це не спрацює, якщо у вас не всі вказані вами залежності, вказані в package.json
Віктор Марчук

Мені довелося видалити папку, потім запустити npm install, потім npm update. Але це вказало на мене в правильному напрямку. Дякую!
Тимофій

Видалення папки node_modules викликало: Error: Cannot find module 'c:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'під час запуску npm update.
АлікЕльзін-кілака

41
Це кардинальне рішення. Просто використовуйте npm rebuild node-sassспеціально для відновлення додатків на C ++.
Кріс Саттінгер

2
Не виправляє нічого для мене :(
Ізохронний

84

npm rebuild node-sassдавав мені помилки (Ubuntu) і npm install gulp-sassне зробив помилку.

Ми побачили рішення на GitHub, яке працювало на мене:

npm uninstall --save-dev gulp-sass

npm install --save-dev gulp-sass


Працював сьогодні для версій
@lastest

22

У мене був той самий випуск:

  • встановлення node-sass
  • в кінці інсталяції повідомляється, що встановлення завершено успішно
  • то попросять повторно встановити node-sass.

Рішення полягає в установці node-sass версії 2, яка підтримує поточні версії вузла. Дивіться https://github.com/sass/node-sass/isissue/490#issuecomment-70388754

Виконати:

npm install node-sass@2

Потім повторно тестуйте:

$ npm ls node-sass
myapp@0.0.0 /var/www/myapp
└── node-sass@2.0.1

$ gulp sass
[09:48:42] Using gulpfile /var/www/myapp/gulpfile.js
[09:48:42] Starting 'sass'...
[09:48:42] Finished 'sass' after 15 ms

8
Для тих, хто використовує 'grunt-sass', будьте впевнені та оновіть: 'npm install --save-dev grunt-sass'
natepers

19

Якщо ви використовуєте Gulp, то спробуйте:

npm install gulp-sass

У мене була така ж проблема, і в gulp-sassпакеті була проблема.


за допомогою цього після "npm uninstall --save-dev gulp-sass" виправлено проблему для мене
Sul Aga

2
npm install grunt-sassвиправили проблему для мене.
Пол Шрайбер

11

У мене була така ж проблема сьогодні на роботі.

npm rebuild node-sass

зробив роботу для мене


9

Зменшуючи Node до 0.10.36, слід це зробити за цією ниткою на сторінці node-sass github: https://github.com/sass/node-sass/isissue/490#issuecomment-70388754

Якщо у вас є NVM, ви можете просто:

nvm install 0.10

Якщо цього немає, ви можете знайти NVM та інструкції тут: https://www.npmjs.com/package/nvm


вирішив для мене питання. nvm також доступний через homebrew для користувачів Mac: "варити встановити nvm". після переходу на версію 0.10.36 переконайтеся, що вона дійсно активна: "node -v"
cjoy

9
Сам понижуючий вузол - це скоріше рішення, ніж відповідь.
mikemaccana

1
Ця помилка виправлена ​​у node-sass@2.0.1-, як @mikemaccana виявив наприкінці квитка, на який посилається ця відповідь. Дивіться його коментар у цій темі.
натепери

1
Користувачі 'grunt-sass' повинні оновитись після оновлення 'node-sass', якщо у вас все ще виникають проблеми: 'npm install --save-dev grunt-sass'
natepers

3

Ця відповідь є дещо ортогональною для ОП, але -

прив'язки libsass не встановлюються належним чином із обгорткою node-sass на Node v4.0.0. У мене з'явилося те саме повідомлення про помилку, як у запитанні ( Error: 'libsass' bindings not found. Try reinstalling 'node-sass')але я закінчив видалення Node v4.0.0 та встановлення v0.12.7 за допомогою nvm, за допомогою цього сценарію:

https://gist.github.com/brock/5b1b70590e1171c4ab54

і тепер libsass та node-sass ведуть себе належним чином.


2

Ви також можете захотіти npm remove gulp-sassта встановити знову gulp-sass, якщо ви переключили версії вузлів.


2

У мене така ж проблема, коли версія gulp-sass становить 1.3.0, і виправити її після оновлення до 2.1.0.


1

Якщо ви прийшли сюди, тому що ви оновили nodejs у всьому світі і раптом програма emberjs ^ 1.13 не працює з цим повідомленням, переконайтеся, що ви не використовуєте застарілу версію ember-cli-sass. Вам потрібно буде rm -rf node_modules bower_components dist tmpв додатку Ember, потім оновити свою package.jsonвідповідну ember-cli-sassверсію та нарешті npm install --save-dev. Це зафіксувало це для мене, не потребуючи перебудови чи зміни будь-яких інших залежностей.


1

Я видалив усю /node_modulesпапку, а потім побігnpm install і вона спрацювала.

У мене вузол v5.5.0, npm 3.3.12


0

Для мене ця проблема була викликана в моїй системі збирання (Travis CI), зробивши щось мовчазне у моєму .travis.ymlфайлі. Насправді я дзвонив npm install раніше nvm use 0.12 , і це стало причиною того, node-sassщоб будувати 0.10замість цього 0.12. Моє рішення було просто переміщенням nvm useз розділу .travis.ymlфайлу before_scriptдо npm installкоманди, що була вbefore_install розділі.

У вашому випадку, ймовірно, що будь-який процес, з якого ви починаєте gulp, використовує іншу версію node(ніж те, що ви очікували).


0

У мене була та сама проблема, що і в @Kos, лише мені чомусь довелося змінити пакет gulp-sass зі старого package.jsonфайлу, який я мав. Потім він встановив залежності зараз і тепер, нарешті, працює!


0

Моя проблема полягала в тому, що я працював на машині node version 0.12.2, але у неї була стара 1.x.xверсія npm. Обов’язково оновіть свою версію npm: sudo npm install -g npmПісля цього видаліть усі існуючі node-sassта встановіть її знову через npm.


0

Потрібно використовувати правильну версію. Спробуйте:

nvm use 0.12
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.