Build fzf binary and copy it to bin directory
September 5, 2025 ยท View on GitHub
Build instructions
Prerequisites
- Go 1.23 or above
Using Makefile
# Build fzf binary for your platform in target
make
# Build fzf binary and copy it to bin directory
make install
# Build fzf binaries and archives for all platforms using goreleaser
make build
# Publish GitHub release
make release
Warning
Makefile uses git commands to determine the version and the revision
information for fzf --version. So if you're building fzf from an
environment where its git information is not available, you have to manually
set $FZF_VERSION and $FZF_REVISION.
e.g. FZF_VERSION=0.24.0 FZF_REVISION=tarball make
Tip
To build fzf with profiling options enabled, set TAGS=pprof
TAGS=pprof make clean install
fzf --profile-cpu /tmp/cpu.pprof --profile-mem /tmp/mem.pprof \
--profile-block /tmp/block.pprof --profile-mutex /tmp/mutex.pprof
Running tests
# Run go unit tests
make test
# Run integration tests (requires to be on tmux)
make itest
# Run a single test case
ruby test/runner.rb --name test_something
Third-party libraries used
- rivo/uniseg
- Licensed under MIT
- mattn/go-shellwords
- Licensed under MIT
- mattn/go-isatty
- Licensed under MIT
- tcell
- Licensed under Apache License 2.0
- fastwalk
- Licensed under MIT