i collegamenti di libsass non sono stati trovati quando si utilizza node-sass in nodejs

Voglio usare il modulo node-sass nella mia applicazione node.js v0.12 per beneficiare delle prestazioni di libsass .
Ho eseguito npm i node-sass per installare il modulo, nessun errore finora.

Ora inizia il casino:
Se apro REPL in un terminale per provare node-sass tutto funziona correttamente ma se lo includo nei miei file di progetto ed node myfile.js viene visualizzato il seguente messaggio di errore:

 Error: `libsass` bindings not found. Try reinstalling `node-sass`? 

La descrizione del modulo su npmjs.com afferma che potrebbe esserci un problema con la risoluzione del #!/usr/bin/env node in Ubuntu e come risolvere questo problema, ma questo non è il caso sulla mia macchina.
Non ho trovato nulla di utile quindi spero che tu possa aiutarmi.

Sto usando il nodo v0.12.2 sotto Ubuntu 14.10.

PS: ho già provato a reinstallare node-sass ma senza successo. Niente cambia.

Probabilmente hai provato a reinstallare node-sass durante l’utilizzo

 npm install node-sass 

o

 npm uninstall node-sass npm install node-sass 

Ma node-sass è una versione C di Sass. Devi usare la ricostruzione npm :

 npm rebuild node-sass 

Se stai utilizzando il nodo 4.x o successivo, devi reinstallare gulp-sass con:

 npm uninstall --save-dev gulp-sass npm install --save-dev [email protected] 

Ho risolto questo problema eliminando la cartella esistente /node_modules e eseguendo npm update

Questa soluzione alternativa ( http://forum.ionicframework.com/t/error-running-gulp-sass/32311/20 ) ha funzionato da me.

A partire da questa configurazione:

Cordova CLI: 5.3.3 Versione Gulp: versione CLI 3.9.0 Gulp locale: versione locale 3.9.0 Versione ionica: 1.1.0 Versione CLI ionica: 1.6.5 Versione app Ionic Lib: 0.3.9 Versione ios-deploy: non installata versione ios-sim: 5.0.1 Sistema operativo: Mac OS X Versione nodo Yosemite: v4.1.1 Versione Xcode: Xcode 6.4 Versione build 6E35b

Ho trovato una soluzione per evitare di usare il comando ‘sudo’. Abbiamo bisogno di prima per correggere i permessi di npm seguendo questo: https://docs.npmjs.com/getting-started/fixing-npm-permissions e fissando le autorizzazioni per Node qui: http://mawaha.com/permission-fix-node- js / Dopo questo possiamo controllare e reinstallare il software senza ‘sudo’ per npm, n o ionico.

Ho seguito questo passaggio:

 npm install -gn rm -R node_modules/ npm install [email protected] npm -g install [email protected] npm uninstall gulp-sass npm install [email protected] npm rebuild node-sass ionic setup sass 

Perché [email protected]? Perché funziona con la versione ionica più recente: https://github.com/driftyco/ionic/pull/4449

Questa è l’unica soluzione che ha funzionato per me,

 sudo npm install -gn sudo n 0.12.7 npm install [email protected] sudo npm -g install [email protected] npm rebuild node-sass 

La combinazione delle due risposte sopra ha funzionato per me, più le aggiunte:

 sudo npm uninstall --save gulp-sass npm install --save [email protected] npm update npm rebuild node-sass 

Ho risolto questo per creare la directory giusta con il file binding.node specificato. Puoi scaricare i binding da github

https://github.com/sass/node-sass-binaries

Cerca nel messaggio di errore il percorso in cui tenta di trovare l’associazione. Nel mio caso:

C: \ Users \ Martijn \ Documenti \ node_modules \ gulp-sass \ node_modules \ node-sass \ vendor \ win32-x64-46

Quindi creo questa mappa win32-x64-46 e copio il binding da github in.

La mia soluzione era di effettuare il downgrade alla v0.10.25 (prova sudo n 0.10.25 se usi n )

Per me, questo problema è stato causato nel mio sistema di compilazione (Travis CI) facendo qualcosa di stupido nel mio file .travis.yml . In effetti, stavo chiamando npm install prima che nvm use 0.12 , e questo stava causando la nvm use 0.12 node-sass per 0.10 invece di 0.12 . La mia soluzione stava semplicemente spostando nvm use di .travis.yml dalla sezione before_script del file before_script prima del comando di npm install , che era nella sezione before_install .

Questo è stato un problema di versione di Node per me, prova a usare nvm per tornare indietro della tua versione a qualcosa del tipo: 0.10.32. Questo ha funzionato per me. Stavo correndo 4.2.2

Ho risolto questo problema aggiornando il mio gcc da 4.4.x a 4.7.x

Non è necessario sudo o re-installazioni. Questo ha sempre funzionato per me:

 nvm use 0.12.2