Giter VIP home page Giter VIP logo

ipfs-update's Introduction

ipfs-update

An updater tool for ipfs. Can fetch and install given versions of go-ipfs.

Travis CI standard-readme compliant

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.io/#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 go-ipfs.

  1. If you have go-ipfs installed, ipfs-update will install over your existing install.
  2. If you have a Go development environment setup, it will install go-ipfs along with all of your other go programs.
  3. Otherwise, it will try to pick a sane, writable install location.

Specifically, ipfs-update will install go-ipfs according to the following algorithm:

  1. 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.
  2. If Go is installed:
  3. GOBIN if GOBIN is in your PATH.
  4. For each $path in GOPATH, $path/bin if it's in your PATH.
  5. On Windows:
  6. The current directory if it's writable and in your PATH.
  7. The directory where the ipfs-update executable lives if it's executable and in your path.
  8. The directory where the ipfs-update executable lives if it's executable and in your current working directory.
  9. On all platforms except Windows:
  10. 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.
  11. $HOME/.local/bin if it exists, is writable, and is in your PATH.
  12. $HOME/bin if it exists, is writable, and is in your PATH.
  13. $HOME/.local/bin if we can create it and it's in your PATH.
  14. $HOME/bin if we can create it and it's in your PATH.

Contribute

Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.

License

MIT

ipfs-update's People

Contributors

chriscool avatar dignifiedquire avatar djdv avatar ebpa avatar godcong avatar haniawni avatar hsanjuan avatar jbenet avatar kubuxu avatar magik6k avatar mjrider avatar parkan avatar richardlitt avatar stebalien avatar victorb avatar whilei avatar whyrusleeping avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.