换了工作,新的环境,网络安全却管得很严。之前可以用node.js 轻松搞定的npm package,却怎么也搞不定。原因就卡在node-sass这里……
原因很简单,下载node-sass需要访问国外的服务器,网络问题。
这个问题,不管是用哪个自动化工具,gulp还是webpack,都需要npm install 来下载依赖包。只要网络不行,都会出现这个问题。
然后用通用方法解决。
方法一:
首先就是网络上用的最多的方法,使用国内镜像。首推淘宝镜像:(windows平台)
npm install -g cnpm --registry=https://registry.npm.taobao.org
这是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步。
而且下载速度很快,之前用这个链接的时候一点问题都没有,npm 无缝切换到 cnpm,很方便。
现在发现不行了,因为公司安全防范,
把这个淘宝的镜像地址给封掉了,封掉了,封掉了。。
一直用这个方法的我也开始尝试各种方法折腾,也快折腾得疯掉了……
没办法,折腾了很久才发现,原来还有其他的镜像地址,咦~~~不错,新大陆,有种瞬间就能解决问题的感觉。。
方法二:
//npm 国内镜像源
* npm ----- https://registry.npmjs.org/
cnpm ---- http://r.cnpmjs.org/
taobao -- https://registry.npm.taobao.org/
nj ------ https://registry.nodejitsu.com/
rednpm -- http://registry.mirror.cqupt.edu.cn
skimdb -- https://skimdb.npmjs.com/registry
镜像源的使用方法网上有三种,大家自己选择使用,请移步查看具体方法:http://yijiebuyi.com/blog/b12eac891cdc5f0dff127ae18dc386d4.html
有一个方法是在.npmrc文件中加入一行配置镜像地址的:
sass_binary_site=http://r.cnpmjs.org/
可是,试了以后才发现,有好多一样不能访问,最后终于发现一个可以用的,赶紧的:
npm install node-sass --registry=http://r.cnpmjs.org/
可是……不勒个是吧,还是报错~
认真查看teminal进度信息才发现,原来,虽然地址用了国内的镜像源,最终却还是要去访问github上的资源:
这不是坑的吗~明知是网络问题才用国内镜像的,这样可好,跟没用国内镜像没啥两样。(淘宝镜像例外)
不过有地址就好说,貌似看到过网上有人说可以把node-sass包down到本地,然后修改配置就可以的。浏览器下载通常都比 node 下载更快更稳定
好的,ok,又有希望了~!!!!
方法三:
第一步
把这个地址拷贝下来,然后让其他同事帮忙下载好,然后共享给我
https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node
P.S.1 请各位原谅,用了这个曲折的方法,没办法,自己的网络实在不能成功下载,虽然只有2.2MB
P.S.2 每个人的node-sass版本会不一样,我这里的是4.5.2,请大家各自修改版本号。
第二步
然后呢,参考这个说明进行配置:http://www.th7.cn/web/html-css/201607/176503.shtml
把文件存到一个稳定的路径,并复制路径;
在 ~/.npmrc下面新增一行,新增 sass_binary_path项并填入刚才的路径,比如
sass_binary_path=C:\Program Files\nodejs\node_modules\npm\win32-x64-48_binding.node
最后再去项目目录下
npm i // 或者直接npm install
好了,终于大功告成!!!
大家有没有搞定呢~~嘻嘻~