Mac OS npm install: Error: permission denied, mkdir

Mac OS 10.14 上安全某个依赖使用了 sudo npm install XX

得到了以下的错误信息

gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/xxx/Desktop/xxxnode_modules/xx/build'
gyp ERR! System Darwin 18.0.0
gyp ERR! command "/Users/xxx/.nvm/versions/node/v12.2.0/bin/node" "/Users/xxx/.nvm/versions/node/v12.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xx/Desktop/xxxx/node_modules/xx
gyp ERR! node -v v12.2.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 

一开始以为是Node版本的问题,更换后版本后出现同样问题。

解决方案

一、命令

sudo npm install xx –unsafe-perm=true --allow-root

二、改变文件权限为当前用户

chmod [<权限范围><权限操作><具体权限>] [文件或目录…]

<权限范围>
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

<权限操作>
+:表示增加权限
- :表示取消权限
=:表示唯一设定权限

<具体权限>
r:表示可读取
w:表示可写入
x :表示可执行

  • 现在让其他用户都可以对文件有写的权限,则执行
    chmod o+w 文件名
  • 修改所有用户的访问权限均为可读可写可执行(rwx)的话,这样使用即可:
    chmod 777 文件名

你可能感兴趣的:(Questions)