安装 node-sass 失败原因及解决办法汇总
一、原因
据node版本和node-sass版本拉取对应的binding.node编译器,binding.node经常因为网络不稳定而拉取不下来。如果binding.node能正常拉取下来,就能通过它正常编译sass,如果拉取不下来,则会尝试本地编译。本地编译需要python环境,所有没有安装python环境的一般会报关于python相关的问题。
方法1:通过npm包
npm install -g node-gyp
npm install --global --production windows-build-tools
两个包如果安装成功了,node-sass 基本就能安装成功了
方法2:安装Python环境
1、去官网下载 https://www.python.org/download ;
2、安装成功之后,在环境变量中的系统变量新增python的安装路径;
3、执行 npm rebuild node-sass 重构一下;
4、再重新执行 npm install node-sass
npm rebuild node-sass一定要执行一下,不然会报错
指定binary 路径来安装
npm i -D node-sass@5.0.0 --sass_binary_path=D:\files\win32-x64-72_binding.node
binding.node的下载地址(一定要注意node_module的版本):http://npm.taobao.org/mirrors/node-sass/v5.0.0/win32-x64-72_binding.node
node、node-sass、node module(对应bing.node的版本)对应的版本查看:https://www.npmjs.com/package/node-sass
node-sass和sass-loader的版本对应关系需要自行查看
我知晓的对应版本有:
一文搞懂 npm、cnpm、yarn、pnpm、npx、nvm 的区别
npm(Node Package Manager):npm 是 Node.js 的默认包管理器,用于安装、发布和管理 JavaScript 包。它是一个命令行工具,可以在终端中使用。npm 有一个全球的包仓库,可以从中下载和安装各种 JavaScript 包。
cnpm(China npm):cnpm 是 npm 的一个镜像,专门为中国用户提供更快的下载速度。由于 npm 的服务器位于国外,中国用户在使用 npm 时可能会遇到下载速度慢的问题。cnpm 通过将 npm 的包镜像到国内服务器,解决了这个问题。
yarn:yarn 是由 Facebook 开发的另一个 JavaScript 包管理器。与 npm 不同,yarn 具有更快的下载速度和更稳定的依赖管理。它还引入了一些新的功能,如离线模式、并行安装等。yarn 使用与 npm 相同的包仓库,可以直接使用 npm 的包。
多线程
pnpm:pnpm 是另一个 JavaScript 包管理器,与 npm 和 yarn 不同,它使用硬链接和符号链接来共享依赖项,从而节省磁盘空间。pnpm 还具有更快的安装速度和更低的网络流量消耗。它也可以使用 npm 的包仓库。
npx:npx 是 npm 5.2.0 版本引入的一个命令行工具。它允许你在不全局安装包的情况下运行命令行工具。npx 可以直接运行安装在项目中的依赖包,而不需要手动设置环境变量或全局安装。
nvm(Node Version Manager):nvm 是一个用于管理多个 Node.js 版本的工具。它允许你在同一台机器上安装和切换不同的 Node.js 版本。nvm 可以帮助开发人员在不同的项目中使用不同的 Node.js 版本,以适应项目的需求。