Angular4升级Angular6时rxjs-5-to-6-migrate脚本执行崩溃求助
解决Angular 4升级到6时rxjs-5-to-6-migrate脚本崩溃的问题
我之前升级Angular版本的时候也碰到过一模一样的报错,给你几个实用的排查和解决方法:
确认tsconfig路径的正确性
你当前用的是src/tsconfig.app.json,先检查这个文件是不是真的存在于项目的src目录下。如果存在还是报错,试试改用项目根目录的tsconfig.json来执行命令:rxjs-5-to-6-migrate -p ./tsconfig.json有些情况下,src下的配置文件可能因为包含了过多限定规则,导致迁移脚本无法正常解析。
修复rxjs-tslint与tslint的版本冲突
全局安装的rxjs-tslint可能和项目本地的tslint版本不兼容,建议改用本地安装并通过npx执行:- 先卸载全局的包:
npm uninstall -g rxjs-tslint - 在项目本地安装依赖:
npm install rxjs-tslint --save-dev - 用npx执行迁移命令:
npx rxjs-5-to-6-migrate -p src/tsconfig.app.json
- 先卸载全局的包:
切换到兼容的Node.js版本
你现在用的Node.js 9.11.1是非LTS版本,Angular 6官方推荐使用Node.js 8.x或10.x的LTS版本。版本不兼容很可能导致这类底层的子进程执行错误。可以用nvm(Node版本管理器)切换到稳定的LTS版本后再尝试迁移。手动执行tslint命令获取详细错误
报错信息里给出了完整的tslint执行命令,你可以直接复制这个命令在终端里运行,这样能看到更具体的错误提示——比如是不是tsconfig文件有语法错误,或者某个规则触发了异常。这个方法能帮你定位到问题的根源。清理依赖缓存后重新安装
有时候node_modules里的缓存文件会导致奇怪的问题,试试以下步骤:- 清理npm缓存:
npm cache clean --force - 删除项目根目录的
node_modules文件夹和package-lock.json文件 - 重新安装所有依赖:
npm install
完成后再执行迁移脚本试试。
- 清理npm缓存:
内容的提问来源于stack exchange,提问作者SLG
相关产品推荐
相关产品推荐

