【发布时间】:2020-05-23 01:27:48
【问题描述】:
我正在尝试使用 buildGoModule 构建一个 Go moodule。我的问题是,在构建期间 go 试图联系 proxy.golang.org 但它在我的网络中被阻止,解决方案是设置环境变量 GOPROXY。
我认为passthru = { GOPROXY = "direct"; }; 可以完成这项工作,但错误仍然存在。所以我想知道什么是传递环境变量的好方法。
覆盖GOPROXY 应该可以工作,因为我在nix-shell 中单独对其进行了测试 - 它工作正常。
【问题讨论】:
-
passthru仅在 Nix 级别设置属性,不会将值传递给构建器。 nixos.org/nixpkgs/manual/#ssec-stdenv-attributes 您必须直接在所有获取 go sources 的派生上设置它。这似乎没有记录。 -
是的,在
overrideModAttrs中覆盖GOPROXY就可以了。
标签: nix