正在尝试全局安装Nodemon,但出现错误



我已经尝试将Nodemon本地安装到Nodejs和全局安装。当我在本地创建时,CLI不接受nodemon作为命令;所以我尝试在全局范围内安装Nodemon,结果出现了以下错误:

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules'
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:
npm ERR!     /Users/akashdeep/.npm/_logs/2021-05-15T09_44_48_698Z-debug.log

全局,尝试使用sudo 进行安装

sudo npm i -g nodemon

对于本地,在您的package.json

将命令添加到脚本

{
"scripts": {
"nodemon": "nodemon index.js" 
}
}

其中index.js是任何名称的启动js文件

然后在cli中运行

npm run nodemon

从不使用sudo的npm。它会扰乱node_modules文件夹的权限。

首先通过运行命令检查路径/usr/local/lib/node_modules的文件夹权限

ls -la /usr/local/lib/

您很可能会看到该文件夹的所有权属于"根">

您需要将所有权从root更改为当前用户。

sudo chown -R <username> /usr/local/lib/node_modules

这里的username是您当前的用户名。运行命令后,再次检查权限。它应该从root用户更改为当前用户。然后尝试全局安装nodemon,它不应该引发任何错误。并且永远不要用sudo命令运行npm。

您必须在拥有root权限的情况下运行它(如Alan Tishin(。

如果你不想在没有root权限的情况下全局安装软件包,请遵循以下步骤:

  • 如何npm安装global而不是root
  • https://github.com/sindresorhus/guides/blob/main/npm-global-without-sudo.md

最新更新