当前位置: 首页 > news >正文

踩坑:解决npm版本升级报错,无法安装node-sass的问题

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/

在这里插入图片描述

注意要选上C++的工具包。

http://www.lryc.cn/news/31301.html

相关文章:

  • xFormers安装使用
  • React—— hooks(一)
  • Ubuntu20.04下noetic版本ros安装时rosdep update失败解决方法【一行命令】
  • Vue2.0开发之——购物车案例-Footer组件封装-计算商品的总价格(51)
  • 德鲁特金属导电理论(Drude)
  • (十一)python网络爬虫(理论+实战)——html解析库:BeautfulSoup详解
  • 四轮两驱小车(五):蓝牙HC-08通信
  • 华为OD机试题 - 对称美学(JavaScript)| 机考必刷
  • Web Spider案例 网洛克 第四题 JSFuck加密 练习(八)
  • 【JavaScript速成之路】JavaScript数组
  • 路由传参含对象数据刷新页面数据丢失
  • 大数据flink框架入门分享(起源与发展、实时与离线计算、场景、处理流程、相关概念、特性普及、入门Demo)
  • 由点到面贯穿整个Java泛型理解
  • 北斗RTK高精度定位在AI领域的应用
  • 2023年再不会 IOC 源码,就要被淘汰了
  • MQ面试题
  • pnpm 基本详细使用(安装、卸载、使用)
  • Kafka生产者的粘性分区算法
  • java基础篇
  • Java与Winform进行AES加解密数据传输的工具类与对应关系和示例
  • OpenAI模型的API调用与使用-测试(2)
  • 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点 p136 -- Java Version
  • 经典卷积模型回顾7-轻量化模型MobileNet实现图像分类(matlab)
  • 程序员压力大?用 PyQt 做一个美*女GIF设置桌面,每天都有好心情
  • Shell命令——sed命令
  • C语言练习 | 初学者经典练习汇(2)
  • git分支
  • Java每天15道面试题 | redisII
  • 浏览器渲染原理
  • 华为OD机试题 - 查找单入口空闲区域(JavaScript)| 含思路