node-sass无法安装的各种解决方案 原

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

翻墙

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

使用cnpm

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

npm install
npm rm node-sass
cnpm install node-sass
npm 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[*]”这样的前缀进行一些特殊处理。在此记录下来。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏渠道合作伙伴技术圈

Windows server环境下混合云部署DFS文件服务

很多传统企业在设计身份验证和文件服务时,都会使用微软的活动目录和windows server自带的文件共享来实现以上的需求, 公有云的出现给这个场...

70816
来自专栏深度学习那些事儿

ubuntu16.04下安装NVIDIA(cuda)-gtx965m相关步骤以及问题

ubunt版本:16.04 笔记本:机械革命,i7-6700,gtx965m(集显Intel Hm170 ) 安装NVIDIA以及cuda来测试深度学习

2374
来自专栏人工智能LeadAI

Ubuntu 16.04安装NVIDIA驱动后循环登录问题

最近买了两块NVIDIA Titan X Pascal显卡装到了服务器(运行Ubuntu 16.04)上。为了使用这两块GPU显卡,首先需要安装显卡驱动,安装方...

3143
来自专栏ChaMd5安全团队

记一次phpcms漏洞利用到获得服务器过程分享

记一次phpcms漏洞利用到获得服务器 by lshc 随着最近phpcms V9 任意上传和注入poc的流出,在圈内又掀起了一阵漏洞利用浪潮,想到之...

5676
来自专栏FreeBuf

基于ThinkPHP的2个CMS后台GetShell利用

0x00 前言 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,由于其简单易用,很多cms都基于该框架改写。然而 Thinkphp在缓存使...

4279
来自专栏北京马哥教育

rsync同步的艺术

如果你是一位运维工程师,你很可能会面对几十台、几百台甚至上千台服务器,除了批量操作外,环境同步、数据同步也是必不可少的技能。 说到“同步”,不得不提的利器就是r...

3777
来自专栏bboysoul

如何最骚气得在linux下聊qq(mojoqq)

有一天老板让我安装qq,说电脑上没有qq影响工作效率,但是作为 一个热爱linux的人怎么愿意去在linux上安装wine这个挨千刀的东西呢。不过解决办法还是有...

1993
来自专栏FreeBuf

用某品牌随身WiFi进行钓鱼测试

本文内容仅代表作者观点且只做测试展示,目的是提醒读者注意 WiFi 联网安全,严禁将内容用于不法用途。 前言 搭建钓鱼 WiFi 来盗取账号密码已经成为一种很...

2245
来自专栏程序猿

安装 VMware workstation

VMware Workstation 是 VMware 公司推出的一款桌面虚拟计算软件,具有 Windows、Linux 版本。VMware Worksta...

74812
来自专栏java达人

一段解决kafka消息处理异常的经典对话

有一天,卡尔维护的购买系统发生了一个奇怪的异常,从日志里看到,购买后的任务处理竟然先于购买任务执行了。“不可能啊,按照代码的顺序,一定是先执行购买流程,再发送消...

1890

扫码关注云+社区

领取腾讯云代金券