整理 node-sass 安装失败的原因及解决办法(小结)


Posted in Javascript onFebruary 19, 2020

npm install 时偶尔遇到报错:没有安装python或node-sass 安装失败的问题,百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了vpn都安装失败,最后发现原来是因为没有卸载之前安装失败的包导致的。作者本人最后的解决方案是npm uninstall node-sass,然后使用VPN重新安装了一遍就成功了。不能翻墙的同学请看下文

node-sass 安装失败的原因

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

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

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

解决方法一:使用淘宝镜像源(推荐)

设置变量 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

解决方法三:创建.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

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

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

到这里去根据版本号、系统环境,选择下载 .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/

相关错误提示

提示没有安装python、build失败等,如:

gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\zhuon\AppData\Local\Programs\Python\Python36\python.EXE", you can set the PYTHON env variable.
gyp ERR! stack   at PythonFinder.failNoPython (G:\Workspace\ManYan\manyan-nav\node_modules\node-gyp\lib\configure.js:483:19)
gyp ERR! stack   at PythonFinder.<anonymous> (G:\Workspace\ManYan\manyan-nav\node_modules\node-gyp\lib\configure.js:508:16)
gyp ERR! stack   at G:\Workspace\ManYan\manyan-nav\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack   at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\\dev\\nodejs\\node.exe" "G:\\Workspace\\ManYan\\manyan-nav\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags="
"--libsass_library="
gyp ERR! cwd G:\Workspace\ManYan\manyan-nav\node_modules\node-sass
gyp ERR! node -v v8.4.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed
npm WARN co-mocha@1.2.0 requires a peer of mocha@>=1.18 <4 but none was installed.
npm WARN egg-restapi-module-tool@1.0.0 No repository field.
npm WARN egg-restapi-module-tool@1.0.0 scripts['server'] should probably be scripts['start'].

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@3.8.0 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@3.8.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!   D:\nodejs\cache\_logs\2017-09-02T16_06_24_298Z-debug.log

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 三级关联菜单效果实例
Aug 13 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
jquery解决客户端跨域访问问题
Jan 06 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
Dec 17 Javascript
简单实现js间歇或无缝滚动效果
Jun 29 Javascript
微信小程序 form组件详解
Oct 25 Javascript
js学习心得_一个简单的动画库封装tween.js
Jul 14 Javascript
微信小程序顶部可滚动导航效果
Oct 31 Javascript
vue绑定的点击事件阻止冒泡的实例
Feb 08 Javascript
vue better scroll 无法滚动的解决方法
Jun 07 Javascript
uni-app微信小程序登录授权的实现
May 22 Javascript
原生JS实现拖拽效果
Dec 04 Javascript
Vue常用的全选/反选的示例代码
Feb 19 #Javascript
详解node和ES6的模块导出与导入
Feb 19 #Javascript
JS实现分页导航效果
Feb 19 #Javascript
vue随机验证码组件的封装实现
Feb 19 #Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 #Javascript
vue实现带过渡效果的下拉菜单功能
Feb 19 #Javascript
Vue.js仿Select下拉框效果
Feb 18 #Javascript
You might like
德生1994机评
2021/03/02 无线电
php生成EXCEL的东东
2006/10/09 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
php 发送带附件邮件示例
2014/01/23 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
3种php生成唯一id的方法
2015/11/23 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
js 处理URL实用技巧
2010/11/23 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
Vue程序调试的方法
2019/06/17 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python 处理数据的实例详解
2017/08/10 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
Django 路由控制的实现
2019/07/17 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
服装采购员岗位职责
2014/03/15 职场文书
解除劳动合同协议书
2014/04/14 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
2015年小学生暑假总结
2015/07/13 职场文书