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

Udemy Angular项目执行npm install时node-sass编译报错问题

问题根因

安装失败是三个问题叠加导致的,和课程有没有指引无关:

  • Node版本不兼容:当前使用的Node 17.4.0属于过新的非LTS版本,项目依赖的karma@1.7.1、karma-cli@1.0.1、node-gyp@3.8.0等老旧包最高仅适配到Node 14及以下版本,高版本Node的API变更会直接导致依赖运行、编译异常。
  • 废弃依赖警告为老旧Angular项目的常态:har-validator、request、core-js@2.x、@angular/http、chokidar@2这类包早已停止维护,但属于旧版Angular生态的默认依赖,仅为警告项,不会直接中断安装流程。
  • 编译环节报错核心是老版node-sass的编译依赖缺失:绑定node-gyp@3.8.0的旧版node-sass默认走本地编译流程,强制依赖Python 2环境,而Windows 10默认无内置Python 2,且Python 2早已停止维护,无需手动安装。
可直接落地的修复步骤

按顺序操作即可,不需要额外降级到Node 8等早已停服的版本:

  1. 切换适配的Node LTS版本
    先安装nvm-windows做Node版本管理,安装完成后执行以下命令切换到兼容版本:
    nvm install 14.21.3
    nvm use 14.21.3
    
    执行node -v确认输出为v14.21.3即可,该版本为Node 14最终维护版,可同时兼容Angular CLI 13、老旧项目依赖、node-sass等包,不会触发版本兼容报错。
  2. 跳过node-sass本地编译(无需安装Python2/VS编译环境)
    执行以下命令配置node-sass的国内二进制镜像源,安装时会直接拉取对应系统预编译好的二进制文件,完全跳过node-gyp本地编译环节:
    npm config set sass_binary_site https://npmmirror.com/mirrors/node-sass/
    
  3. 清理残留缓存后重装
    删除项目目录下之前安装失败生成的node_modules文件夹、package-lock.json文件,执行以下命令清理npm缓存:
    npm cache clean --force
    
    清理完成后重新在项目目录执行npm install即可完成安装。
后续运行注意事项
  • 如果执行ng serve时提示Angular CLI版本不匹配,直接在项目目录执行npm install @angular/cli@13.3.6 --save-dev,对齐项目本地CLI版本和全局版本即可,无需调整全局Angular CLI版本。
  • 安装过程中输出的废弃依赖警告只要不中断安装流程,无需额外处理,不影响项目正常启动和功能运行。
  • 不要单独手动安装Python 2,该版本已停止官方维护,会给系统带来不必要的安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:06:22