Install IPFS

There are a variety of ways to install a copy of IPFS on your system. We generally recommend installing a prebuilt package, but here are a few other supported options:

Note these instructions all make use of the command line. We use $ to indicate the command prompt — commands to type are on lines that are prefixed with that, while output lines are un-prefixed.

Installing from a Prebuilt Package

First, download the right version of IPFS for your platform:

Download IPFS for your platform   

macOS and Linux

After downloading, untar the archive, and move the ipfs binary somewhere in your executables $PATH using the script:

$ tar xvfz go-ipfs.tar.gz
$ cd go-ipfs
$ ./

Test it out:

$ ipfs help

    ipfs - Global p2p merkle-dag filesystem.

Congratulations! You now have a working IPFS installation on your computer.

General Usage   


After downloading, unzip the archive, and move ipfs.exe somewhere in your %PATH%.

Test it out:

$ ipfs help

    ipfs - Global p2p merkle-dag filesystem.

Congratulations! You now have a working IPFS installation on your computer.

General Usage   

Installing with ipfs-update

ipfs-update is a command-line tool to install and upgrade the ipfs binary.

Getting ipfs-update

ipfs-update can be downloaded for your platform at:

If you have a working Go environment (>=1.12), you can also install it with:

$ go get -u

When installing new versions of ipfs or upgrading make sure you are using the latest version of ipfs-update.

Installing ipfs with ipfs-update

ipfs-update versions lists all the available ipfs versions which are available for download:

$ ipfs-update versions

ipfs-update install latest will install the latest available version:

$ ipfs-update install latest
fetching go-ipfs version v0.4.21
binary downloaded, verifying...
stashing old binary
installing new binary to /home/hector/go/bin/ipfs
checking if repo migration is needed...
Installation complete!

Note that the latest available version may not be stable (i.e. release candidates in the form vX.X.X-rcX). So it is recommended to specify the version you want to install, for example: ipfs-update install v0.4.21.

Building from Source

If you want, you can also build IPFS from source. If you are on macOS or Linux, take a look at the readme for install instructions. If you are on Windows, take a look at this document for instructions.

Upgrading IPFS

ipfs upgrades (and downgrades) may involve a repository upgrade process performed by the fs-repo-migrations tool.

Upgrading using ipfs-update

ipfs-update install will download and run fs-repo-migrations when needed, during the installation of a newer or older ipfs version (as explained above). This is the easiest way of upgrading.

Warning: Make sure that the ipfs daemon is not running during an upgrade

Upgrading manually

In order to perform a manual upgrade of ipfs, you will need to manually run any repository migrations. The procedure is as follows:

When a repository migration is necessary, ipfs will inform the user, download and install fs-repo-migrations and perform the upgrade. If you wish the procedure to happen unattended, launch the daemon with the --migrate flag.

Migrations can be also run manually by downloading the latest version of fs-repo-migrations from and following these instructions.



If you have any problems, come get live help at #ipfs or via the mailing list.

Check Go Version

IPFS works with Go 1.12.0 or later. To check what go version you have installed, type go version. Here’s what I get:

$ go version
go version go1.12.2 linux/amd64

If you need to update, it is recommended to install from the canonical Go packages. Package managers often contain out-of-date Go packages.

Install FUSE

For more details on setting up FUSE (so that you can mount the filesystem), see