Skip to content
Snippets Groups Projects
Select Git revision
  • 1a75c40f5b6ec9d7076fa56f5626c4940d35bf0b
  • master default protected
  • feat/limit-pin-name-255-bytes
  • fix/sweepingprovider-slow-start
  • release-v0.38.0
  • reprovide-sweep-enabled
  • feat/get-closest-peers
  • fix/car-blocked-cids
  • release
  • release-v0.37.0
  • staging
  • copilot/fix-859994d3-9d4e-4a8e-bea3-58b58c75a399
  • fix/panic-and-zombie-daemons
  • chore-golangci-v2
  • config-reprovider-test
  • release-v036
  • release-v0.36.0
  • telemetry-plugin
  • fix-editor-env-handling
  • unixfs-percent-encoding-poc
  • fix/systemd-path
  • v0.38.0-rc1
  • v0.37.0
  • v0.37.0-rc1
  • v0.36.0
  • v0.36.0-rc2
  • v0.36.0-rc1
  • v0.35.0
  • v0.35.0-rc2
  • v0.35.0-rc1
  • v0.34.1
  • v0.34.0
  • v0.34.0-rc2
  • v0.34.0-rc1
  • v0.33.2
  • v0.33.1
  • v0.33.0
  • v0.33.0-rc3
  • v0.33.0-rc2
  • v0.33.0-rc1
  • v0.32.1
41 results

windows.md

Blame
  • user avatar
    Christian Couder authored
    This adds more explanations and explain how to properly build with and without Cygwin.
    
    License: MIT
    Signed-off-by: default avatarChristian Couder <chriscool@tuxfamily.org>
    02bc5c02
    History

    Building on Windows

    Install Git For Windows

    As Git is used by the Go language to download dependencies, you need to install Git, for example from http://git-scm.com/.

    You also must make sure that the directory that contains the Git For Windows binary is in the Path environment variable. Note that Git For Windows has a 'git' binary in a 'Git\bin' directory and another one in a 'Git\cmd' directory. You should only put the 'Git\cmd' directory in the Path environment variable.

    Install Go

    Please install the Go language as explained on https://golang.org/doc/install.

    To properly install Go, you will need to set some environment variables. We recommend you to set them globally using the Control Panel, as explained in the documentation above, so that these environment variables are automatically available in all the possible environments that you might want to use like Git Bash, Windows's cmd, Cygwin's terminal, Windows' PowerShell and so on.

    You must make sure that the GOROOT environment variable is set and that the %GOROOT%/bin directory is in the Path environment variable.

    The GOPATH environment variable should also be set to a directory that you have created, and the %GOPATH/bin directory should also be in the Path environment variable.

    Download go-ipfs and fix Git authentication

    Use the following command to download go-ipfs source code:

    go get -u github.com/ipfs/go-ipfs

    The above command uses Git to download go-ipfs from its GitHub repository. If you get authentication problems with Git, you might want to take a look at https://help.github.com/articles/caching-your-github-password-in-git/ and use the suggested solution:

    git config --global credential.helper wincred

    Choose the way you want to proceed

    Now there are two ways to download, install the dependencies and to build go-ipfs:

    1. There is the "Manual Way", where you don't need to install anymore software except the dependencies, but you have a number of commands to type.

    2. There is a way by installing 'make' through Cygwin and using it to do nearly everything. We call this way the "Cygwin Way". It may take much more time, because installing Cygwin can take a lot of time, but after that it might be easier as many procedures are just a 'make' command away.

    So use the next steps below that start with "Manual Way" if that's the way you want, otherwise scroll down a bit and use the "Cygwin Way" steps below.

    Manual Way: download and install dependencies

    The following commands should download or update go-ipfs dependencies and then install them:

    go get -u github.com/whyrusleeping/gx
    go get -u github.com/whyrusleeping/gx-go
    cd %GOPATH%/src/github.com/ipfs/go-ipfs
    gx --verbose install --global

    Manual Way: build go-ipfs

    To actually build go-ipfs, first go to the cmd/ipfs directory:

    cd cmd\ipfs

    Then get the current Git commit:

    git rev-parse --short HEAD

    It will output a small number of hex characters that you must pass to the actual build command (replace XXXXXXX with these characters):

    go install -ldflags="-X "github.com/ipfs/go-ipfs/repo/config".CurrentCommit=XXXXXXX"

    After that ipfs should have been built and should be available in "%GOPATH%\bin".

    You can check that the ipfs you built has the right version using:

    ipfs version --commit

    It should output something like "ipfs version 0.4.0-dev-XXXXXXX" where XXXXXXX is the current commit that you passed to the build command.

    Cygwin way: install Cygwin

    Install Cygwin as explained in the Cygwin documentation:

    http://cygwin.com/install.html

    By default Cygwin will not install 'make', so you should click on the "Devel" category during the Cygwin installation process and then check the 'make' package.

    Cygwin way: build go-ipfs

    To build go-ipfs using Cygwin you just need to open a Cygwin Terminal and then type the following commands:

    cd $GOPATH/src/github.com/ipfs/go-ipfs
    make install

    After that ipfs should have been built and should be available in "%GOPATH%\bin".

    You can check that the ipfs you built has the right version using:

    ipfs version --commit