npm安装node-sass安装失败的原因及解决办法

责编:menVScode 2017-12-04 14:33 阅读(1159)

        在github克隆项目并用 npm install 初始化的时候,会出现如下报错。

QQ截图20171204141840

        再用 npm run dev 运行项目的时候,会出现如下编译失败的错误。

QQ截图20171204142026

        可见用  npm install 的时候,没有把node-sass安装成功;有时候手动安装node-sass(npm install node-sass --save-dev),也会死活都安装不上。


node-sass 安装失败的原因

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

这是使用 sass 的同学可能都会遇到的郁闷的问题。

    解决方案就是使用其他源,或者使用工具下载,然后将安装源指定到本地。


解决方法一:创建.npmrc文件

        在项目根目录创建.npmrc文件,复制下面代码到该文件。

phantomjs_cdnurl=http://cnpmjs.org/downloads
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
registry=https://registry.npm.taobao.org

        保存后 删除之前安装失败的包(第一次安装请跳过此步)

npm uninstall node-sass

        重新安装

npm install node-sass --save-dev

        作者后来另一个项目在没有使用VPN的情况下测试方法一,安装时报错 ERR! node-sass@3.8.0 postinstall: `node scripts/build.js 改用方法二成功。


解决方法二:使用淘宝镜像源

        设置变量 sass_binary_site,指向淘宝镜像地址。示例:

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

// 也可以设置系统环境变量的方式。示例
// linux、mac 下
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass

// window 下
set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ && npm install node-sass

        或者设置全局镜像源:

npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/

        之后再涉及到 node-sass 的安装时就会从淘宝镜像下载。


解决方法三:使用 cnpm

        使用 cnpm 安装 node-sass 会默认从淘宝镜像源下载,也是一个办法:

cnpm install node-sass

        

解决方法四:下载 .node 到本地

        到这里(https://github.com/sass/node-sass/releases)去根据版本号、系统环境,选择下载 .node 文件,然后安装时,指定变量 sass_binary_path,如:

npm i node-sass --sass_binary_path=/Users/lzwme/Downloads/darwin-x64-48_binding.node


安装失败后重新安装问题

        之前安装失败,再安装就不去下载了,怎么办呢?那就先卸载再安装:

npm uninstall node-sass
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
标签: node-sass npm node
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码