You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js v20触发Illegal instruction报错求助:Angular项目无法启动

解决Node.js v20+升级后的非法指令及Jest运行问题

核心原因

Illegal instruction (core dumped)报错本质是Node.js二进制包编译时使用了你的CPU不支持的指令集,snap源的Node.js默认针对新CPU优化,老CPU无法兼容这些指令;Jest无法运行则大概率是依赖缓存或版本兼容性问题。

具体解决方案

1. 替换Node.js安装方式(弃用snap)

snap版本的Node.js编译参数不适合老CPU,改用nvm安装通用编译版本:

  • 卸载snap版Node.js:
    sudo snap remove node
    
  • 安装nvm:
    获取nvm官方安装脚本执行,完成后重启终端,通过nvm --version确认安装成功。
  • 安装并启用Node.js v20:
    nvm install 20
    nvm use 20
    
    nvm提供的二进制包针对通用CPU编译,不会启用小众指令集,能解决非法指令问题。

2. 修复Jest运行故障

换用nvm的Node.js后,执行以下步骤重置依赖:

  • 清除项目缓存与依赖:
    rm -rf node_modules package-lock.json
    npm cache clean --force
    npm install
    
  • 升级Jest至兼容版本:
    Node.js v20要求Jest 29.6.0及以上,执行命令升级:
    npm install jest@latest --save-dev
    
  • 验证测试运行:
    npm test
    

3. 验证Angular项目

新建测试项目确认问题解决:

ng new test-app
cd test-app
npm start

Angular 17与Node.js v20.11.1版本兼容,更换Node.js安装源后应能正常启动。

内容的提问来源于stack exchange,提问作者Frozen_byte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:02:18