nfpm

NFPM is Not FPM - a simple deb and rpm packager written in Go

Github星跟踪图

Why

While fpm is great, for me it is a bummer that it depends on Ruby, tar
and probably other software.

I wanted something that could be used as a binary and/or as a lib on go-software,
so I hacked this together and it works!

Goals

  • be simple to use
  • provide packaging for the most common linux packaging systems (at very least deb and rpm)
  • be distributed as a single binary
  • reproducible results
    • depend on the fewer external things as possible
    • generate packages based on yaml files (maybe also json and toml?)
  • be possible to use it as a lib in other go projects (namely goreleaser itself)
  • support complex packages and power users

Usage

The first steps are to run nfpm init to initialize a config file and edit
the generated file according to your needs:

nfpm init

The next step is to run nfpm pkg --target mypkg.deb.
NFPM will guess which packager to use based on the target file extension.

nfpm pkg

And that's it!

Usage as a docker image

You can run it with docker as well:

docker run --rm \
  -v $PWD:/tmp/pkg \
  goreleaser/nfpm pkg --config /tmp/pkg/foo.yml --target /tmp/pkg/foo.rpm

That's it!

Usage as lib

You can look at the code of nfpm itself to see how to use it as a library, or, take
a look at the nfpm pipe on GoReleaser.

Attention: GoReleaser deb packager only compiles with go1.10+.

Status

  • both deb and rpm packaging are working but there are some missing features.

Special thanks

Thanks to the fpm authors for fpm, which inspires nfpm a lot.

Donations are very much appreciated! You can donate/sponsor on the main
goreleaser opencollective! It's
easy and will surely help the developers at least buy some ☕️ or ?!

Stargazers over time

goreleaser/nfpm stargazers over time


Would you like to fix something in the documentation? Feel free to open an issue.

主要指标

概览
名称与所有者goreleaser/nfpm
主编程语言Go
编程语言Go (语言数: 4)
平台
许可证MIT License
所有者活动
创建于2018-01-04 12:49:38
推送于2025-07-22 09:34:32
最后一次提交
发布数153
最新版本名称v2.43.0 (发布于 2025-06-07 13:37:35)
第一版名称v0.1.0 (发布于 )
用户参与
星数2.4k
关注者数25
派生数166
提交数1.1k
已启用问题?
问题数206
打开的问题数7
拉请求数604
打开的拉请求数3
关闭的拉请求数91
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?