.NET Core 2.0+Angular初始化应用构建失败:找不到Python及JS运行时错误
解决.NET Core 2.0 + Angular项目构建的Python缺失与node-sass 404问题
兄弟,你碰到的这俩问题是Win7下用VS2017搭.NET Core+Angular项目时的经典坑,我之前也踩过,给你一步步拆解解决:
一、解决node-gyp找不到Python的问题
首先得明确:node-gyp只认Python 2.7.x版本,Python3完全不兼容,哪怕你PATH里有Python3也没用,这是关键!
方案1:一键安装编译环境(推荐)
直接用npm的工具包自动装Python2.7和Visual C++编译工具,省得手动折腾:
- 右键以管理员身份打开命令提示符(必须管理员权限,不然装到一半会报错)
- 执行命令:
npm install --global windows-build-tools
这个工具会自动下载安装Python2.7和VC++ Build Tools,还会帮你把Python路径配置到npm里,不用手动改环境变量。
方案2:手动配置Python2.7
如果你已经装了Python2.7,只是npm没识别到:
- 确认Python2.7的安装路径,比如
C:\Python27\python.exe - 执行命令把路径指定给npm:
npm config set python C:\Python27\python.exe
之后再执行npm命令就会用这个Python2.7版本了。
二、解决node-sass下载二进制文件404的问题
这个是因为node-sass的官方二进制包在国内访问不稳定,经常被墙导致404,换国内镜像就能解决:
临时解决(单次生效)
在ClientApp目录下执行:
npm install node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
全局配置(永久生效)
以后所有项目都能用这个镜像,执行:
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
三、最终修复步骤
把上面的配置做完后,按以下步骤重新构建:
- 进入ClientApp目录,删除
node_modules文件夹和package-lock.json文件(清除之前的失败缓存) - 执行
npm install,这次应该能顺利安装所有依赖 - 回到项目根目录,在VS里点击“重新生成解决方案”,或者执行
dotnet build,应该就能正常构建了
额外注意点
- VS2017构建时会自动触发npm install,所以一定要确保npm的全局配置已经生效(用
npm config list命令可以查看python和sass_binary_site的配置是否正确) - 如果还是报错,检查一下Windows的环境变量里有没有Python2.7的路径,不过用windows-build-tools的话一般会自动加上
内容的提问来源于stack exchange,提问作者MAR
相关产品推荐
相关产品推荐

