ipfs-update
An updater tool for ipfs. Can fetch and install given versions of Kubo.
Install
You can either install a pre-built binary or build ipfs-update
from source.
Pre-built Binaries
You can download pre-built binaries at: https://dist.ipfs.tech/#ipfs-update
From Source
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.
Usage
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).
version
$ ipfs-update version
Prints out the version of ipfs that is currently installed.
versions
$ ipfs-update versions
Prints out all versions of ipfs available for installation.
install
$ 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.
revert
$ 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.
fetch
$ 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.
Install Location
ipfs-update
tries to intelligently pick the correct install location for
Kubo.
- If you have Kubo (
ipfs
) installed,ipfs-update
will install over your existing install. - If you have a Go development environment setup, it will install Kubo along with all of your other go programs.
- Otherwise, it will try to pick a sane, writable install location.
Specifically, ipfs-update
will install Kubo according to the following
algorithm:
- If Kubo (
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.
Custom IPFS gateway URL
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_GATEWAY
.
For example:
$ IPFS_GATEWAY="https://dweb.link" ipfs-update install latest
Contribute
Feel free to join in. All welcome. Open an issue!
This repository falls under the IPFS Code of Conduct.