An updater tool for ipfs. Can fetch and install given versions of go-ipfs.
You can either install a pre-built binary or build ipfs-update
from source.
You can download pre-built binaries at: https://dist.ipfs.io/#ipfs-update
ipfs-update
uses go modules and requires Go version 1.12 or higher:
# You need to CD to a directory _outside_ of your GOPATH.
$ cd /
# Install with go modules enabled
$ GO111MODULE=on go get github.com/ipfs/ipfs-update
Note: Your $GOPATH/bin should be within $PATH for the result ipfs-update binary to be found.
If you do not see the expected version listed by ipfs-update versions
. Try updating
ipfs-update
(either by the above go get
command or through gobuilder).
$ ipfs-update version
Prints out the version of ipfs that is currently installed.
$ ipfs-update versions
Prints out all versions of ipfs available for installation.
$ ipfs-update install <version>
Downloads, tests, and installs the specified version (or "latest" for latest version) of ipfs. The existing version is stashed in case a revert is needed.
$ ipfs-update revert
Reverts to the previously installed version of ipfs. This is useful if the newly installed version has issues and you would like to switch back to your older stable installation.
$ ipfs-update fetch [version]
Downloads the specified version of ipfs into your current directory. This is a plumbing command that can be utilized in scripts or by more advanced users.
ipfs-update
tries to intelligently pick the correct install location for
go-ipfs.
- If you have go-ipfs installed,
ipfs-update
will install over your existing install. - If you have a Go development environment setup, it will install go-ipfs along with all of your other go programs.
- Otherwise, it will try to pick a sane, writable install location.
Specifically, ipfs-update
will install go-ipfs according to the following
algorithm:
- If
go-ipfs
is already installed and in your PATH,ipfs-update
will replace it.ipfs-update
will fail if it can't and won't try to install elsewhere. - If Go is installed:
- GOBIN if GOBIN is in your PATH.
- For each
$path
in GOPATH,$path/bin
if it's in your PATH. - On Windows:
- The current directory if it's writable and in your PATH.
- The directory where the ipfs-update executable lives if it's executable and in your path.
- The directory where the ipfs-update executable lives if it's executable and in your current working directory.
- On all platforms except Windows:
- If root:
1.
/usr/local/bin
if it exists, is writable, and is in your PATH. 2./usr/bin
if it exists, is writable, and is in your PATH. $HOME/.local/bin
if it exists, is writable, and is in your PATH.$HOME/bin
if it exists, is writable, and is in your PATH.$HOME/.local/bin
if we can create it and it's in your PATH.$HOME/bin
if we can create it and it's in your PATH.
By default, ipfs-update
uses https://ipfs.io as the gateway URL. If you wish to use your own IPFS gateway URL, please export it via the environment variable IPFS_CUSTOM_GATEWAY_URL
.
For example:
$ IPFS_GATEWAY="https://dweb.link" ipfs-update install latest
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.