Knoten-Sass 4.9 Module Installation Problem auf Knoten 10.2

Bekomme ich ein Problem bei der Installation node-sass auf meinem server (Ubuntu 16.04). Auf meinem lokalen server habe ich nicht Thesen Fehler…

NodeJS version : v10.2.1

Npm version : 5.6.0

Knoten sass-version : ^4.9.0

Fehlermeldung :

****@web-test:/var/www/****$ sudo npm i node-sass

> [email protected] install /var/www/****/node_modules/node-sass
> node scripts/install.js

Unable to save binary /var/www/****/node_modules/node-sass/vendor/linux-x64-64 : { Error: EACCES: permission denied, mkdir '/var/www/****/node_modules/node-sass/vendor'
    at Object.fs.mkdirSync (fs.js:872:3)
    at sync (/var/www/****/node_modules/mkdirp/index.js:71:13)
    at Function.sync (/var/www/****/node_modules/mkdirp/index.js:77:24)
    at checkAndDownloadBinary (/var/www/****/node_modules/node-sass/scripts/install.js:114:11)
    at Object.<anonymous> (/var/www/****/node_modules/node-sass/scripts/install.js:157:1)
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
  errno: -13,
  syscall: 'mkdir',
  code: 'EACCES',
  path: '/var/www/****/node_modules/node-sass/vendor' }
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/var/www/****/node_modules/node-sass/build'
gyp ERR! System Linux 4.4.0-116-generic
gyp ERR! command "/usr/local/bin/node" "/var/www/****/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /var/www/****/node_modules/node-sass
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed with error code: 1
npm WARN ****@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-[email protected].9.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-[email protected].9.0 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/****/.npm/_logs/2018-06-04T14_54_18_635Z-debug.log

Berechtigungen auf den Ordner : drwxr-xr-x 11 root root 4096 june 4 17:25 ****

Fehler nach dem Update Rechte :

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stackbcrypt_lib.target.mk:97: recipe for target 'Release/obj.target/bcrypt_lib/src/bcrypt_node.o' failed
make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1
make: Leaving directory '/var/www/****/node_modules/bcrypt/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.4.0-116-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/var/www/****/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/var/www/****/node_modules/bcrypt/lib/binding"
gyp ERR! cwd /var/www/****/node_modules/bcrypt
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12)
gyp ERR! System Linux 4.4.0-116-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/var/www/****/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/var/www/****/node_modules/bcrypt/lib/binding"
gyp ERR! cwd /var/www/****/node_modules/bcrypt
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/var/www/****/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/var/www/****/node_modules/bcrypt/lib/binding' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/var/www/****/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:961:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
node-pre-gyp ERR! System Linux 4.4.0-116-generic
node-pre-gyp ERR! command "/usr/local/bin/node" "/var/www/****/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /var/www/****/node_modules/bcrypt
node-pre-gyp ERR! node -v v10.2.1
node-pre-gyp ERR! node-pre-gyp -v v0.6.36
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/var/www/****/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/var/www/****/node_modules/bcrypt/lib/binding' (1)
npm WARN ****@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected].2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected].2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected].0.3 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected].0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Richtige Lösung (nach vielen Recherchen) :

sudo rm -rf ~/.node-gyp
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo npm i --unsafe-perm
  • Anscheinend verwendet der Benutzer ausführen npm install hat keinen Zugriff auf die Ordner /var/www. Hast du das überprüfen?
  • Ok also wie kann ich das überprüfen ? Bei der Ausführung cd /var/www mit dem aktuellen Benutzer habe ich keine Fehlermeldungen.
  • Versuchen zu laufen sudo npm install. Wenn es funktioniert, überprüfen Sie Ihre Benutzer-Rechte für diesen Ordner.
  • Wie Sie sehen können, installieren node-sass ich bin mit sudo npm install node-sass, also ich bin schon mit der sudo Befehl, und ich bekomme den Fehler auch.
  • Prüfen Sie, ob Sie Berechtigungen haben Sie sich mit Ihrer Benutzer zu schreiben, in '/var/www/****/ (ls -la). Trotzdem, es ist eindeutig nicht eine gute Praxis, installieren Sie Ihre deps im sudo Modus. Versuchen Sie, entfernen Sie alles aus dem Ordner '/var/www/****/ und vor allem den node_modules-Ordner und führen Sie npm install wieder (auch nicht mit sudo). Versuchen npm cache --clean vor, das zu tun.
  • Eine weitere gute Ressource, um eine Lösung zu finden: docs.npmjs.com/getting-started/fixing-npm-permissions.
  • Siehe Berechtigungen in meinem edit.

InformationsquelleAutor tonymx227 | 2018-06-04



One Reply
  1. 0

    Scheint es, dass die root Benutzer ist der einzige, der Zugriff auf die /www/var Ordner. Es wäre besser, erstellen Sie einen dedizierten user für die.

    Zunächst prüfen Sie, mit welchem Benutzer Sie gerade angemeldet mit dem folgenden Befehl:

    $ whoami

    Und aktualisieren Sie die Berechtigungen für Ihr Ziel-Ordner für die Benutzer:

    sudo chown -R $USER /var/www/[YOUR FOLDER]

    Und schließlich laufen npm install wieder.

    • Es ist besser, aber ich bekomme eine neue Fehlermeldung. Sehen Sie die Fehler in meinem edit nur oben.
    • Ich habe die Lösung gefunden. Sie können den gesamten Befehle in meinem post.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.