安装 node-sass4.x 遇到的问题及解决方案
今天在维护一个基于 vue-cli 创建的旧项目,在安装依赖时会报错,具体信息如下:
gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe ENOENT
于是我顺着这个路径 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe
看到底有没有这个目录,结果到了只匹配到了 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\
, 15.0
后面的路径没有匹配,但是同级目录有个 Current
子目录 ,然后顺着他能找到 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe
。此时我灵机一动,如果把 Current
目录名称改成 15.0
不就可以了,于是改完后,重新安装一下, 结果还是报了是其他的编译错误信息。
然后,上网查了一下,有人说是 node-sass@4.x
的问题,它只能使用 vs2017
来编译,而不能使用 vs2019
,但是如果安装 node-sass@5.x
就不会有这个问题,所以我就试试安装 node-sass@5.x
。安装确实好顺利,没有任何问题,可是在启动项目的时候,sass-loader
却报错了:
Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.
这是 vue
的 sass-loader
报的错,不兼容 node-sass5.0.0
。所以升级 node-sass 的方式也是行不通。
这时候,只能想办法安装一个 vs2017 了,但是我平时在搞 UE4 用的是 vs2019,不想卸掉重新安装旧版的。幸好 ,visual studio install 里面可以同时安装多个不同版本的 vs,所以我装了 vs2017 后,再设置一下 npm 的 msvs_version 变量:
npm config set msvs_version 2017
然后,再安装 node-sass@4.x 就成功了。问题至此已解决。
另外,目前 sass 官网已经废弃了 node-sass 了,而是推荐使用 dart sass ,所以也可以改成一下 sass-loader 的配置,这样就不需要安装 node-sass ,就不会出现编译错误了。至于怎么修改配置,这里也不展开介绍,有兴趣的可以自行查找一下。
安装 node-sass4.x 遇到的问题及解决方案的更多相关文章
- 在Linux Mint上安装node.js和npm
1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...
- Mac 下使用homebrew 安装node后全局安装找不到问题
Homebrew 是mac上的包管理工具,其官网: http://brew.sh/ 在使用brew安装node之后安装一些常见工具比如 gulp npm install -g gulp 提示安装成功之 ...
- ubuntu kylin 14.04安装Node.js和Famous
默认使用软件中心安装node.js,然后参考https://famo.us/install进行安装 1.sudo apt-get install git 2.npm install -g yo gru ...
- TODO:Ubuntu下安装Node
TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...
- centos 6.5安装node.js
1.检查是否安装gcc编译器 rpm -q gcc rpm -q gcc-c++ 2.如果没有安装则通过以下代码安装gcc编译器 yum -y install gcc-c++ kernel-devel ...
- [译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js
原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October ...
- 在亚马逊amazon的AWS上安装Node和MongoDB服务器
在亚马逊amazon的AWS上安装Node和MongoDB服务器 在建立AWS上账号.创建EC2 ,用putty链接上之后,就可以用下面的方法开始安装. !!! 如果不是是自己建立的EC2, 而是由B ...
- Linux 安装node.js ---- 源码编译的方式
一 : 普通用户: 安装前准备环境: 1.检查Linux 版本 命令: cat /etc/redhat-release 2.检查 gcc.gcc-c++ 是否安装过 命令: rpm -q gcc rp ...
- CentOS 6 中安装Node.js 4.0 版本或以上
如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装: wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz t ...
- Windows下安装node
1.安装node及npm Windows下安装软件都是傻瓜式安装,首先登陆官网(https://nodejs.org/en/)下载对应的node程序,然后双击进行安装.安装过程基本上是点击'Next' ...
随机推荐
- 多测师讲解自动化测试 _RF自定义关键字_高级讲师肖sir
RF自定义关键字 在rf中叫关键字 在python中就叫做函数 或实例方法 我们自己可以写自定义关键字 自己创建一个库===库里面去创建模块===模块里面创建类和实例方法==>rf导入和引用 库 ...
- kali 運行 chrome
0x00前提 已經安裝好google chrome . 0x01 在終端執行命令: google-chrome,發現如圖: 錯誤提示:在root下只能使用 --no-sandbox選項來運行chrom ...
- zookeeper的管理功能
一,查看当前zookeeper的版本 [liuhongdi@localhost ~]$ echo stat|nc 127.0.0.1 2181 Zookeeper version: 3.5.6-c11 ...
- Linux命令行history
概述 当执行命令后,系统默认会在内存记录执行过的命令 当用户正常退出时,会将内存的命令历史存放对应历史文件中,默认是~/.bash_history 登录shell时,会读取命令历史文件中记录下的命令加 ...
- Apache Hudi助力nClouds加速数据交付
1. 概述 在nClouds上,当客户的业务决策取决于对近实时数据的访问时,客户通常会向我们寻求有关数据和分析平台的解决方案.但随着每天创建和收集的数据量都在增加,这使得使用传统技术进行数据分析成为一 ...
- JS实现鼠标移入水波效果
前言 最近比较沉迷JS,所以我现在来做个鼠标的交互效果 HTML <div style="border-radius;position:relative;width:800px;hei ...
- Java中try()...catch()用法
在stackoverflow偶尔看到的一个关于try()...catch()的用法,通常我们使用try...catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这 ...
- LruCache缓存bitmap(三)
应用在网络连接上,onrestart后不会重新联网获取图片,省去了流量, public class MainActivity extends AppCompatActivity { ImageView ...
- js 值类型与引用类型
说明之前先提一个提问题,看一下你是怎么理解的 1. 值类型 简单的数据类型,存放在栈中 var num = 100; var num2 = num; num += 100; console.log(n ...
- 浅析软件测试人员如何对JVM进行内存溢出检测
一.什么是JVM,检测JVM的意义 JVM是java virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各 ...