create-react-app创建项目报npm --global/--local弃用警告如何解决
问题表现
使用create-react-app创建任意React项目时,终端输出如下警告:
npm WARN config global
--global,--localare deprecated. Use--location=globalinstead.
该警告由npm 8.x及以上版本的参数规则变更触发:旧版本npm使用-g/--global标记全局安装位置,新版本将该参数标记为废弃,推荐统一使用--location=global参数。警告本身不会阻塞项目创建、运行流程,需要消除可按以下方案操作。
修复方法
方法1:升级全局依赖(推荐)
警告本质是全局安装的npm、create-react-app旧版本内部脚本仍在调用废弃参数,升级到适配新规则的版本即可彻底解决:
- 以对应权限打开终端,执行命令升级npm到最新稳定版:
# Windows系统:使用管理员身份打开终端执行 npm install npm@latest -g --location=global # Mac/Linux系统:加sudo获取root权限执行 sudo npm install npm@latest -g --location=global
- 升级全局安装的create-react-app到最新版本:
# Windows npm install create-react-app@latest -g --location=global # Mac/Linux sudo npm install create-react-app@latest -g --location=global
升级完成后重启终端,重新执行create-react-app创建项目的命令即可。
Windows用户特殊说明:如果升级完依赖仍弹出警告,找到Node.js安装目录(默认路径为
C:\Program Files\nodejs\)下的两个文件手动修改:
npm.cmdnpm.ps1
将文件内所有--global文本替换为--location=global,保存后重启终端即可。
方法2:直接忽略警告
如果不需要强制消除终端提示,完全可以跳过处理,该警告不会对生成的React项目功能、后续开发打包流程造成任何影响。
方法3:降级npm版本(不推荐)
如果因项目环境限制必须使用旧版本create-react-app,可以将npm降级到未废弃--global参数的7.x版本,执行命令:
npm install npm@7 -g --location=global
降级后警告会自动消失,但旧版本npm存在已知安全漏洞,非必要不选择该方案。
内容的提问来源于stack exchange,提问作者Rashidul Islam
相关产品推荐
相关产品推荐

