HEX.PM 配置

UPYUN 已提供 HEX 的镜像,本帖中的源即将停用。请使用 https://hexpm.upyun.com

已经有官方版的教程了,戳 这里

不自带包管理器的语言都不是好语言

hex.pm 的资源使用 s3 fastly 存储,在国内使用受到很大影响。目前有两种方式访问: hex_mirror 和 http/https proxy

HEX_MIRROR

  1. 通过环境变量配置 hex_mirror
    HEX_MIRROR="https://hex.elixir-cn.org" mix deps.get
  2. 通过 hex 配置 hex_mirror
    mix hex.config mirror_url https://hex.elixir-cn.org
    

 

HTTP/HTTPS PROXY

  1. 通过环境变量配置 http_proxy
    http_proxy="http://127.0.0.1:8013" mix deps.get
  2. 通过 hex 配置 http_proxy
    mix hex.config http_proxy http://127.0.0.1:8013

Q & A

  • 为什么不做镜像站?
    官方认为 S3 的可用性足够,而且暂时没有性能压力,暂时不提供做 mirror 的接口,详见 elixir-lang-talk 的讨论。
  • hex.elixir-cn.org 是什么?
    这个 hex_cdn 是通过 nginx 配置在 digitalocean SFO 主机上的反向代理。
    此服务现在挂在家里路由器上,80 端口被 X,只能通过 https 访问。目前来看速度和稳定性尚可,如果路由器故障导致我 ssh 不回去,就只能等晚上回家的时候手动重启。
  • 为什么不使用 https?
    在等 letsencrypt,letsencrypt 开放后会在第一时间改用 https。
  • Cool。我自己也做了一个反代,供自己和朋友圈内部使用,不过没有上 HTTPS。

    • falood

      前一个版本,我是用 nginx 架在 vps 上的,后来发现非常不稳定,就改方案了。目前这个,感觉还不错。

      • Cool。那现在这个有啥不同吗?

        • falood

          现在没有用 nginx 了,我自己用 elixir 写了一套,用 plug 架的 server,收到请求再用 httpoison 穿墙把 aws 上的包拿回来。

          • 好酷!直接就把 Elixir 用上了。我现在还在学习,晚些自己也尝试写一个。说到 httpoison,我前几天还在把玩另外两个 http client,tesla、httpotion。httpoison 和 httpotion,名字好像啊……

  • 谢谢。刚开始都是用搭的这个。