当我尝试安装 nodemon 时出现此错误消息

When I try to install nodemon i get this error message

npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/nodemon
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir'/usr/local/lib/node_modules/nodemon'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/nodemon'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/nodemon'
npm ERR! }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.


npm ERR! A complete log of this run can be found in:

看起来问题出在包 generator-karma 上,不确定是否是这个问题。

任何人都可以告诉我我需要做什么才能正确安装。

谢谢 萨尼尔

这看起来像是您的主目录中的权限问题。要收回 node_modules 目录的所有权,请执行:

sudo chown -R $(whoami) ~/node_modules

Node.js 错误 EACCES 表示您无权访问它指定的路径。在这种情况下,/usr/local/lib/...root 用户所有。请在此处查看命令输出:

$ ls -l /usr/local/lib

total 12
drwxr-xr-x 4 root root  4096 Apr  7 23:45 node_modules

除了 root 以外,没有人可以写入 node_modules 文件夹。这可以通过在您的 npm 命令前加上前缀 sudo 到 运行 命令 as root.

来解决

查看其他:Understanding Linux File Permissions - Linuxize

我相信您正在尝试使用 npm install -g nodemon 在您的系统上安装全局包,然后权限被拒绝,如错误消息中所示。

没有 root 权限,您不能安装全局包。如果你想这样做,只需以 root 权限执行它,比如使用 sudo: sudo npm i -g nodemon 或切换到 root 然后再次执行。