1、错误Error: ENOSPC: System limit for number of file watchers
问题发生场景: 在使用react脚手架写案例的时候,使用指令 npm start 不成功
报错 Error: ENOSPC: System limit for number of file watchers错误。
原因
文件监视程序的系统产生了限制,达到了默认的上限
解决办法
查看限额
cat /proc/sys/fs/inotify/max_user_watch
增加限额
# 临时限额
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl -p
# 永久限额
echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
2、错误:/etc/sudoers: syntax error near line
>>> /etc/sudoers: syntax error near line 1 <<<
sudo: parse error in /etc/sudoers near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
原因
sudoers文件错误,无法使用sudo命令,无法打开/etc/sudoers文件
解决办法
重新打开sudoers文件,恢复文件
# 编辑 visudo
visudo
linux下在编辑状态下退出请按Ctrl+X,会有两种情形:
- 文件未修改,直接退出;
- 修文件修改,会询问是否需要保存修改。输入Y确认保存,输入N不保存,按Ctrl+C取消返回。输入Y,会提示输入想要保存的文件名。不需要修改文件名直接回车。
3、Error: EACCES: permission denied, mkdir '/usr/local/xxx'
安装 lerna 工具时报错
报错日志:
$ npm i -g lerna
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/nodejs/lib/node_modules/lerna
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/nodejs/lib/node_modules/lerna'
npm ERR! [Error: EACCES: permission denied, mkdir '/usr/local/nodejs/lib/node_modules/lerna'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/usr/local/nodejs/lib/node_modules/lerna'
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! /home/chengyalin/.npm/_logs/2022-10-28T07_05_28_844Z-debug-0.log
问题原因:
权限不足
解决办法:
# 为全局安装创建一个配置目录
mkdir ~/.npm-global
# 配置 npm 以使用新的目录路径
npm config set prefix '~/.npm-global'
# 打开或创建一个 ~/.profile 或者 /etc/profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
# 返回命令行,更新系统变量
source ~/.profile
source /etc/profile
# 在不使用 sudo 的情况下全局下载一个包。
npm i -g lerna
安装成功