andypinet / blog

0 stars 0 forks source link

【抄袭】如何正确 下载electron node-sass #2

Open andypinet opened 7 years ago

andypinet commented 7 years ago

本篇抄袭 https://github.com/lmk123/blog/issues/28 略有改进

安装 node-sass 的时候总是会各种不成功,今天我琢磨了一会儿总算知道要怎么解决了。

首先要知道的是,安装 node-sass 时在 node scripts/install 阶段会从 github.com 上下载一个 .node 文件,大部分安装不成功的原因都源自这里,因为 GitHub Releases 里的文件都托管在 s3.amazonaws.com 上面,而这个网址在国内总是网络不稳定,所以我们需要通过第三方服务器下载这个文件。(顺带一提,你可以看看这个好玩的 commit

全局.npmrc文件中写入以下文件

sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
electron_mirror=https://npm.taobao.org/mirrors/electron/
registry=https://registry.npm.taobao.org

这样使用 npm install 安装 node-sass、electron 和 phantomjs 时都能自动从淘宝源上下载,但是在使用 npm publish 的时候要把 registry 这一行给注释掉,否则就会发布到淘宝源上去了

andypinet commented 7 years ago

感谢 https://gist.github.com/weilao/5f0a0e30d05dc231bcc3a16f91124f6e

npm set registry https://registry.npm.taobao.org # 注册模块镜像
npm set disturl https://npm.taobao.org/dist # node-gyp 编译依赖的 node 源码镜像

## 以下二进制包镜像选择添加
npm set chromedriver_cdnurl https://cdn.npm.taobao.org/dist/chromedriver
npm set operadriver_cdnurl https://cdn.npm.taobao.org/dist/operadriver
npm set phantomjs_cdnurl https://cdn.npm.taobao.org/dist/phantomjs
npm set sass_binary_site https://cdn.npm.taobao.org/dist/node-sass
npm set electron_mirror https://cdn.npm.taobao.org/dist/electron
npm set selenium_cdnurl https://cdn.taobao.org/dist/selenium
npm set node_inspector_cdnurl https://cdn.taobao.org/dist/node-inspector

npm cache clean # 清空缓存