wake-up-neo.com

knotensass kann nicht installiert werden

Ich versuche, eine Umgebung einzurichten, in der ich einen Sass-Compiler mit gulp verwenden könnte. Ein Teil meiner Umgebung wird durch die Installation von gulp-sass eingerichtet. Ich erhalte jedoch einen Fehler. Nach einigen Recherchen liegt es anscheinend daran, dass ich keine Knoten-Sass habe. Wenn ich versuche, Node-sass mit zu installieren

Sudo npm install -g node-sass

Ich erhalte die folgende Fehlermeldung, bitte beachten Sie, dass der Fehler für gulp sass ziemlich identisch ist.

/usr/bin/node-sass -> /usr/lib/node_modules/node-sass/bin/node-sass

> [email protected] install /usr/lib/node_modules/node-sass
> node scripts/install.js

Unable to save binary /usr/lib/node_modules/node-sass/vendor/linux-x64-57 : { Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/node-sass/vendor'
    at Object.fs.mkdirSync (fs.js:892:18)
    at sync (/usr/lib/node_modules/node-sass/node_modules/mkdirp/index.js:71:13)
    at Function.sync (/usr/lib/node_modules/node-sass/node_modules/mkdirp/index.js:77:24)
    at checkAndDownloadBinary (/usr/lib/node_modules/node-sass/scripts/install.js:111:11)
    at Object.<anonymous> (/usr/lib/node_modules/node-sass/scripts/install.js:154:1)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/usr/lib/node_modules/node-sass/vendor' }

> [email protected] postinstall /usr/lib/node_modules/node-sass
> node scripts/build.js

Building: /usr/bin/node /usr/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ '/usr/bin/node',
gyp verb cli   '/usr/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using [email protected]
gyp info using [email protected] | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/bin/python2
gyp verb check python version `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.12\n"
gyp verb get node dir no --target version specified, falling back to Host node version: 8.7.0
gyp verb command install [ '8.7.0' ]
gyp verb install input version string "8.7.0"
gyp verb install installing version: 8.7.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 8.7.0
gyp verb build dir attempting to create "build" dir: /usr/lib/node_modules/node-sass/build
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/node-sass/build'
gyp ERR! System Linux 4.4.0-97-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /usr/lib/node_modules/node-sass
gyp ERR! node -v v8.7.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
Build failed with error code: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/username/.npm/_logs/2017-10-21T00_11_47_487Z-debug.log

Nach allem, was ich herausfinden kann, hat das Problem entweder mit libsass oder dem Knoten selbst zu tun, aber ich weiß nicht, welche Schritte zu befolgen sind.

Wenn es irgendwelche Ratschläge oder Hinweise gibt, die mir jemand geben könnte, würde ich mich sehr freuen.

Vielen Dank!

5
Bruno Melofiro

Dies ist wahrscheinlich darauf zurückzuführen, dass bei der Installation von npm Berechtigungsprobleme auftreten:

  • Diese Seite beschreibt die allgemeine Problembehandlung für diese Probleme mit npm. Führen Sie zuerst diese Schritte aus.

  • Dieses GitHub-Problem beschreibt, wie jemand dasselbe Problem behebt.

6
Derek Brown

Dieses Problem tritt normalerweise auf, wenn Sie npm install zuvor mit Sudo ausgeführt haben

7
Amit Gupta

Versuchen Sie Folgendes, wenn Sie Ubuntu verwenden:

Sudo chown -R $(whoami) ~/.npm

Verwenden Sie Sudo danach nicht mehr

4
Sachi Cortes

ich habe das Folgende gelöst 

     Sudo npm cache clean -f
     Sudo npm install -g n
     Sudo n stable
     npm rebuild node-sass
1
ivan

versuchen:

Sudo rm -rf node_modules && npm rebuild node-sass && npm i

ref: http://froshgeek.com/fix-npm-error-permission-denied-mkdir-related-to-node-sass-macos/

1
Tin Lek

Ich habe das gleiche Problem im Macos-System festgestellt. Ich habe den Ordner node_modules gelöscht und npm install ohne Sudo erneut verwendet, um dieses Problem erfolgreich zu lösen.

0
GuoGuang0536

Ich hatte die gleiche Fehlermeldung. In meinem Fall war es, weil ich Sudo- und Nicht-Sudo-Befehle zum Installieren von Knotenmodulen verwendet habe. Sie sollten das nicht tun. Löschen Sie den Ordner node-modules. .run Sudo npm update Das ist es, Sie können npm start . starten. Ich hoffe, es hilft jemandem.

0
Nicolas Hersant

Versuche dies

Sudo rm -rf node_modules/

Sudo npm install --unsafe-perm -g node-sass

Sudo npm i

das unsafe-perm-Flag ist auf true gesetzt, um die UID/GID-Umschaltung (User Identifier/Group Identifier) ​​beim Ausführen von Paketskripten zu unterdrücken. Das Flag ist explizit auf false gesetzt, um zu verhindern, dass Benutzer ohne Rootberechtigung Pakete installieren. Standardmäßig ist der Wert false Wenn als root & true ausgeführt wird, ist dies ansonsten der Fall. Wenn während der Installation von Node-Saas ein EACCESS-Fehler auftritt, wird das Paket durch Ausführen der Installation über Sudo und Setzen des Flags unsafe-perm auf true installiert.

0
Hadi Mir