J'essaie de configurer un environnement dans lequel je pourrais utiliser un compilateur sass avec gulp. Une partie de mon environnement est configurée en installant gulp-sass. Cependant, une erreur se produit. Après quelques recherches, c'est apparemment parce que je n'ai pas de noeud-sass. Quand j'essaye d'installer node-sass en utilisant
Sudo npm install -g node-sass
Je reçois l’erreur suivante, veuillez noter que l’erreur pour gulp sass est à peu près identique.
/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
D'après ce que je peux comprendre, le problème peut concerner libsass ou le noeud lui-même, mais je ne sais pas quelles étapes suivre.
S'il y a des conseils ou des indications que quelqu'un pourrait me donner, je les apprécierais avec plaisir.
Merci beaucoup!
Cela est probablement dû à des problèmes d'autorisations lors de l'installation de npm
:
Cette page traite de la résolution générale de ces problèmes avec npm
. Terminez ces étapes en premier.
Ce problème GitHub décrit une personne qui répare exactement le même problème.
Ce problème se produit généralement si vous avez déjà installé npm avec Sudo plus tôt . Supprimez le dossier node_modules et exécutez npm install sans Sudo.
Essayez ce qui suit si vous êtes sur Ubuntu:
Sudo chown -R $(whoami) ~/.npm
Ne pas utiliser Sudo après
j'ai résolu en exécutant ce qui suit
Sudo npm cache clean -f
Sudo npm install -g n
Sudo n stable
npm rebuild node-sass
essayer:
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/
J'ai eu le même message d'erreur. Dans mon cas, c’est parce que j’ai utilisé des commandes Sudo et non-Sudo pour installer des modules de noeud, ce que vous ne devriez pas faire . Supprimez le dossier des modules de noeud. .run Sudo npm update Voilà, vous pouvez exécuter npm start . J'espère que cela aidera quelqu'un.