热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

npm版本由于经常更新,迁移前端项目时经常发

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++的工具包。


推荐阅读
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • PHP引用的概念和用法详解
    本文详细介绍了PHP中引用的概念和用法。引用是指不同的变量名访问同一个变量内容,类似于Unix文件系统中的hardlink。文章从引用的定义、作用、语法和注意事项等方面进行了解释和示例。同时还介绍了对未定义变量使用引用的情况,以及在函数和new运算符中使用引用的注意事项。 ... [详细]
author-avatar
拍友2602882883
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有