无法通过npm sudo npm i
安装node-sass软件包,我一直在尝试通过sudo npm i -g node-sass --unsafe-perm=true --allow-root
进行解析,但这无效。 Chmod 777要么。
我认为有些东西具有npm权限,但我不知道
日志:
gyp verb build dir attempting to create "build" dir: /home/michael/Desktop/react/node_modules/node-sass/build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/michael/Desktop/react/node_modules/node-sass/build'
gyp ERR! System Linux 4.15.0-47-generic
gyp ERR! command "/usr/bin/node" "/home/michael/Desktop/react/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/michael/Desktop/react/node_modules/node-sass
gyp ERR! node -v v11.14.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.11.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.11.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/michael/.npm/_logs/2019-04-13T17_21_20_424Z-debug.log
答案 0 :(得分:1)
作为一般建议,请勿使用sudo运行npm install,因为它将创建root而不是yourusername拥有的本地文件,我认为您应该尝试以下操作:
chown -R yourusername:yourusername /home/michael/Desktop/react/
,或者如果您不想键入用户名:chown -R $USER:$USER /home/michael/Desktop/react/
npm install node-sass
,不要使用sudo 答案 1 :(得分:1)
我按照@WaLid LamRaoui的回答进行操作,因为我也使用sudo运行npm install。在更改文件夹的所有者方面,这似乎已经解决了问题,但是在尝试运行npm install
时仍然出现错误。然后我意识到了另一个问题,该问题与包含根拥有文件的缓存文件夹有关,因此对于那些在遵循批准的答案后也遇到此问题的人,我只是这样做了:
sudo chown -R 1003:1003 "/home/<username>/.npm"
此后,我运行了npm install
,它运行良好。
答案 2 :(得分:0)
什么都不做..
只需向其中添加--unsafe-perm
授予不安全的权限访问权限。
所以,如果您以前安装的是bcrypt库,
sudo npm install --save bcrypt
然后写
sudo npm install --unsafe-perm --save bcrypt
您完成了。
答案 3 :(得分:0)
我通过运行解决了这个问题
sudo npm install -g --unsafe-perm node-sass