You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在nix-shell中安装带自定义构建标签的Golang软件包?

解决方案

你可以通过overrideAttrs修改go-migrate包的构建参数,在编译时传入需要的数据库驱动标签,示例配置如下:

{ pkgs ? import <nixpkgs> {} }:
let
  # 自定义带指定驱动的go-migrate
  go-migrate-with-drivers = pkgs.go-migrate.overrideAttrs (old: {
    # 替换成你需要的数据库驱动标签,多个用空格分隔
    buildFlagsArray = old.buildFlagsArray ++ [
      "-tags" "postgres mysql sqlite3"
    ];
  });
in
pkgs.mkShell {
  buildInputs = [
    go-migrate-with-drivers
  ];
}
  • 标签名和go-migrate官方要求的完全一致即可,按需添加对应数据库的标签即可
  • 每次修改标签后需要重新进入nix-shell触发重新构建,新的配置才会生效

内容的提问来源于stack exchange,提问作者sivakov512

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:06:01