无法创建空Angular项目:npm安装@types/node版本匹配失败求助
解决Angular项目创建时@types/node版本找不到的ETARGET错误
你碰到的这个问题其实很常见——旧版本的Angular CLI生成的项目依赖的@types/node@~8.9.4已经从npm官方仓库移除了,所以npm在安装时找不到对应版本,直接抛出了ETARGET错误。你单独安装高版本的@types/node没用,是因为项目初始化时会严格按照CLI生成的package.json里指定的版本去拉取依赖,全局或单独安装的版本不会覆盖这个配置。
下面给你两种可行的解决办法:
方法一:升级到最新稳定版Angular CLI(推荐)
这是最彻底的解决方式,新版本CLI会依赖仍在维护的包版本:
- 先卸载全局的旧版CLI:
npm uninstall -g @angular/cli - 清理npm缓存,避免残留的旧依赖影响:
npm cache clean --force - 安装最新稳定版的Angular CLI:
npm install -g @angular/cli - 重新创建项目:
ng new app
这样生成的项目依赖都是当前可用的版本,不会再出现找不到包的问题。
方法二:保留旧版CLI,手动修改依赖版本(仅当必须用旧版时)
如果因为项目兼容问题必须使用旧版CLI,可以按以下步骤操作:
- 创建项目时跳过自动安装依赖:
ng new app --skip-install - 进入项目目录:
cd app - 打开项目根目录下的
package.json文件,找到devDependencies里的@types/node,把版本从~8.9.4改成一个仍存在的兼容旧版本,比如~12.20.55(这个版本经过验证是可以正常拉取的) - 执行依赖安装:
npm install
这样就能绕过找不到旧版本@types/node的问题,成功创建并初始化项目。
内容的提问来源于stack exchange,提问作者manymanymore
相关产品推荐
相关产品推荐

