如何在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
相关产品推荐
相关产品推荐

