博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node-Sass安装问题解决
阅读量:5743 次
发布时间:2019-06-18

本文共 985 字,大约阅读时间需要 3 分钟。

使用react到现在,让人头疼的一个问题是安装node-sass。其实导致问题的根源在于安装过程需要下载一个binding.node文件,而因“你懂的”原因,访问不了这个地址。根据这个原因,总结了以下几个解决方案:

翻墙

这没什么好说的了,这是最轻松最彪悍的解决方案。只要能翻墙直接一个  npm i 命令就完事了,什么都不必去操心。至于怎么翻墙…………

使用cnpm

cnpm是一个强悍的工具,几乎能解决所有npm安装第三方包时遇到的问题。执行如下命令即可:

npm installnpm rm node-sasscnpm install node-sassnpm install

但是我们在使用cnpm时也遇到了一个坑,在ubuntu14.04打出来的包运行报错,不用cnpm下载居然就不会有这问题,由于没有时间,没有详细去了解原因是什么。如果你是Windows开发而使用Linux环境打包或运行,可能会碰到这个问题。

下载后编译

实际上为了得到binding.node,是可以直接从github上把源码下载下来之后再编译出来的,node-sass自己也会这样做,但是编译要依赖其他工具。在各种发行版的linux下还好,几乎所有需要的环境(python等)都是预安装的,如果是root权限直接 upm install 就搞定了,所以有时候根本感觉不到这个问题。在windows下就得花时间根据install时的错误日志了解还要安装什么。

linux下遇到权限问题请执行:

npm i --unsafe -perm

附送一个最奇葩的坑

这是我用所有的开源工具遇到过最奇葩的坑。我将一个文件命名为“./dropDown.scss”,然后在linux(是ubuntu 14.04其他发行版没时间去测试,windows没这毛病)上用webpack打包,打包过程没有任何异常,但是放到服务器上运行打开某个页面就抛出无法找到"./dropDown.scss"的异常,然后node直接停机了········。我前后跟进了2天寻找问题的原因。最后突发奇想将文件名由dropDown.scss修改为pullDown.scss后一切都好了。我强烈的怀疑是某个临时工在node-sass里写了什么“硬编码”对字符串进行判断,发现“/drop[*]”这样的前缀进行一些特殊处理。在此记录下来。

转载地址:http://brizx.baihongyu.com/

你可能感兴趣的文章
PHP-X开发扩展
查看>>
android学习笔记——onSaveInstanceState的使用
查看>>
工作中如何做好技术积累
查看>>
怎么用sysLinux做U盘双PE+DOS??
查看>>
Spring Transactional
查看>>
shell脚本实例
查看>>
我的友情链接
查看>>
Windows Phone 7 隔离存储空间资源管理器
查看>>
Microsoft Excel 2000/2003修复工具
查看>>
apache安装报错undefined reference ssl
查看>>
关于爱情只有一句忠告
查看>>
CentOS 7下安装部署Oracle11g图文教程
查看>>
F#初学笔记06
查看>>
实战:将企业域名解析委派给企业DNS服务器
查看>>
在Lync 2013环境部署Office Web Apps
查看>>
微软大会Ignite,你准备好了么?
查看>>
读书笔记-高标管事 低调管人
查看>>
Master带给世界的思考:是“失控”还是进化
查看>>
用户和开发者不满苹果iCloud问题多多
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>