npm版本由于经常更新,迁移前端项目时经常发现报错安装不上。
比如,项目经常使用的sass模块,可能迁移的时候就发现安装不了。
因为node-sass 编译器是通过 C++ 实现的。在 Node.js 中,采用 gyp 构建工具进行构建 C++ 代码,而 GYP 是基于 Python 2 开发的,所以需要 python,而且不支持 3。当然,要编译 C++ 还需要一个 C++ 编译器,类似 gcc,不同操作系统下需要的环境也不同,参考官网说明。所以如果你之前没有配置过 node-gyp 构建环境,只装上 python2 还是不行的。
要是觉得配置环境麻烦,node-sass 本身提供对应不同系统的二进制版本,直接重新安装即可。
python下载地址:https://registry.npmmirror.com/binary.html?path=python
报错1:check python checking for Python executable python2 in the PATH
废话不多说,网上的解决方式:
npm install --global windows-build-tools --save
但是在安装windows-build-tools时卡住了,于是解决方案如下
1、运行npm install -g windows-build-tools
2、在%temp%文件夹中找到最新的文件名类似于dd_installer_20210421124746.log的文件
3、查看此文件,确保日志中输出了Closing the installer with exit code 0
4、确保你安装了vscode
ps:其实可以直接跳过2–4步,因为你的python环境早就安装好了,重复的步骤安装程序早就执行完毕了
5、在%temp%目录下创建一个名为dd_client_.log的文件
6、编辑5中创建的文件,加入一行Closing installer. Return code: 3010.然后保存。
注:直接在资源管理器中粘贴%temp%即可打开你的Windows temp目录。
如果都完成的话,可以直接执行npm install
npm install node-sass --save
当然,如果你本地装了python,有时候是无效的.。
即使安装成功windows-build-tools,发现node环境还是不认识python的路径。
即使你修改了本地环境变量:
”电脑右键->属性->高级系统设置->环境变量->系统变量->path(添加本地的python路径)”
但是使用Node时候,它还是不识别路径。于是只能修改npm的config配置
npm config get userconfig
-------------------------------
C:\Users\Administrator\.npmrc
手动右键更改此文件的配置,加入路径配置,保存后关闭。
registry=http://registry.npm.taobao.org/
prefix=E:\Environment\node\node_global
cache=E:\Environment\node\node_cache
python=C:\Python27\python.exe
最后,大功告成!
报错2:No usable installation of VS2017 found
不用老老实实装visualstudio,程序比较大。
当然,想装也不介意
visualstudio下载地址:https://visualstudio.microsoft.com/zh-hans/free-developer-offers/
不用老老实实装visualstudio
主要还是版本问题。
"node-sass": "^6.0.1",
"sass-loader": "^7.0.1",
装上特定版本的插件就不会报错了。