声明:禁止转载~

nimble是nim语言的包管理器
由于github被墙的原因,导致在使用nimble安装库的时候通常会失败无法安装.
命令行程序似乎并不理会我的v2rayN开启的系统代理,开了它并不走系统浏览器的代理,没有效果。
所以需要自己另外设置针对CMD\nimble\git的网络代理。

有三种设置代理的方法:

方法1:适用于windows
参考 https://www.cnblogs.com/DarkMaster/p/7852893.html
给cmd设置代理:通过执行命令,临时设置环境变量

set http_proxy=http://127.0.0.1:1189  
set https_proxy=http://127.0.0.1:1189

方法2:适合于多平台
根据方法1 以及阅读nimble的源代码,可以通过设置一个http_proxy环境变量指定代理.

nimble源代码见:https://github.com/nim-lang/nimble/blob/master/src/nimblepkg/options.nim#L679

proc getProxy*(options: Options): Proxy =
  ## Returns ``nil`` if no proxy is specified.
  var url = ""
  if ($options.config.httpProxy).len > 0:
    url = $options.config.httpProxy
  else:
    try:
      if existsEnv("http_proxy"):
        url = getEnv("http_proxy")
      elif existsEnv("https_proxy"):
        url = getEnv("https_proxy")
      elif existsEnv("HTTP_PROXY"):
        url = getEnv("HTTP_PROXY")
      elif existsEnv("HTTPS_PROXY"):
        url = getEnv("HTTPS_PROXY")
    except ValueError:
      display("Warning:", "Unable to parse proxy from environment: " &
          getCurrentExceptionMsg(), Warning, HighPriority)

另外根据nimble源码,也可创建nimble.ini来指定代理设置.


方法3:适用于多平台
由于nimble是通过调用git从github下载库相关文件的,所以可以给git设置代理.

git config --global http.https://github.com.proxy http://127.0.1:50808

参考:
Configure Git to use a proxy
https://gist.github.com/evantoli/f8c23a37eb3558ab8765

nimble的文档中有关于nimble.ini的相关说明:
https://github.com/nim-lang/nimble
2022年05月09日14点24分23秒