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 (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2018-01-04 20:49:38
推送於2025-10-27 17:35:29
最后一次提交
發布數157
最新版本名稱v2.43.4 (發布於 2025-10-10 21:47:02)
第一版名稱v0.1.0 (發布於 )
用户参与
星數2.4k
關注者數24
派生數168
提交數1.1k
已啟用問題?
問題數211
打開的問題數9
拉請求數634
打開的拉請求數5
關閉的拉請求數95
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?