解决npm install安装node-sass包容易失败的问题 (Error: Cannot find module 'node-sass')

问题与原因

问题: 在编译nodejs项目的时候,使用npm install命令安装node-sass包容易安装失败。因此执行打包命令时会出现 Cannot find module 'node-sass'

原因: npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。

解决方法一、手动下载binding.node文件

1、执行npm uninstall node-sass卸载失败的安装

2、在https://github.com/sass/node-sass/releases页面下载报错提示对应版本的 binding.node 文件。(如下图)Linux系统下载对应Linux版,Windows系统下载Windows版,并将文件放到/home/当前用户/.npm/node-sass/x.xx.x/下(x.xx.x 是前端项目package.json 中 node-sass 依赖的版本)。
(上面github不能进入就进入镜像仓库下载 https://npm.taobao.org/mirrors/node-sass)
在这里插入图片描述

3、重新安装node-sass包,如果使用root用户,需要增加–unsafe-perm参数。参考命令如下:

#npm install node-sass@4.12.0--unsafe-perm-D

解决方法二、设置环境变量安装

1、执行 npm uninstall node-sass 卸载失败的安装

2、编辑 .npmrc 文件

手动添加 SASS_BINARY_SITE=http://npm.taobao.org/mirrors/node-sass 配置

或者执行npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/命令自动添加配置。

3、执行 npm install node-sass 重新安装。

解决方法三、使用CNPM安装

1、安装cnpm

npm install -g cnpm

如果不行就使用淘宝源安装

npm install -g cnpm --registry=https://registry.npm.taobao.org

2、使用 cnpm 安装 node-sass

cnpm install node-sass

前两种方法来源:https://www.jianshu.com/p/58dabd9d1d23

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐