整理 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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
May 11 Javascript
JS Loading功能的简单实现
Nov 29 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
jQuery手机拨号界面特效代码分享
Aug 27 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
May 09 Javascript
JS中Safari浏览器中的Date
Jul 17 Javascript
详解操作虚拟dom模拟react视图渲染
Jul 25 Javascript
vue router 配置路由的方法
Jul 26 Javascript
react native 文字轮播的实现示例
Jul 27 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
Vue 数据响应式相关总结
Jan 28 Vue.js
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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
详解nodejs 文本操作模块-fs模块(四)
2016/12/22 NodeJs
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
python关闭windows进程的方法
2015/04/18 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
python序列化与数据持久化实例详解
2019/12/20 Python
Python使用Matlab命令过程解析
2020/06/04 Python
CSS3教程:边框属性border的极致应用
2009/04/02 HTML / CSS
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
编辑找工作求职信分享
2014/01/03 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
研发工程师岗位职责
2014/04/28 职场文书
优秀班集体申报材料
2014/12/25 职场文书
单位实习介绍信
2015/05/05 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers
app场景下uniapp的扫码记录
2022/07/23 Java/Android