# Command-line
Installing IPFS through the command-line is handy if you plan on building applications and services on top of an IPFS node. This method is also useful if you're setting up a node without a user interface, usually the case with remote servers or virtual machines. Using IPFS through the command-line allows you to do everything that IPFS Desktop can do, but at a more granular level since you can specify which commands to run.
# System requirements
IPFS requires 512MiB of memory and can run an IPFS node on a Raspberry Pi. However, how much disk space your IPFS installation takes up depends on how much data you're sharing. A base installation takes up about 12MB of disk space. One can enable automatic garbage collection via --enable-gc and adjust the default maximum disk storage (opens new window) for data retrieved from other peers.
# Official distributions
The IPFS team manages the dist.ipfs.io website (opens new window) to help users quickly find the latest version of every IPFS package. As soon as a new release of an IPFS package comes out, it is automatically shown on dist.ipfs.io
, so you can be sure you're getting the latest software. These steps detail how to download and install the latest go-ipfs
from dist.ipfs.io
using the command-line.
Windows | macOS | Linux |
---|---|---|
# Windows
Download the Windows binary from
dist.ipfs.io
(opens new window).cd ~\ wget https://dist.ipfs.io/go-ipfs/v0.11.0/go-ipfs_v0.11.0_windows-amd64.zip -Outfile go-ipfs_v0.11.0.zip
Unzip the file and move it somewhere handy.
Expand-Archive -Path go-ipfs_v0.11.0.zip -DestinationPath ~\Apps\go-ipfs_v0.11.0
Move into the
go-ipfs_v0.11.0
folder and check that theipfs.exe
works:cd ~\Apps\go-ipfs_v0.11.0\go-ipfs .\ipfs.exe --version > ipfs version 0.11.0
While you can use IPFS right now, it's better to add
ipfs.exe
to yourPATH
by using the following steps.Save the current working directory into a temporary variable:
$GO_IPFS_LOCATION = pwd
Create a powershell profile:
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
This command first checks to see if you have a profile set. If you do, it leaves it there and doesn't create a new one. You can view the contents of your profile by opening it in Notepad:
notepad $PROFILE
Add the location of your Go-IPFS daemon and add it to PowerShell's
PATH
by truncating it to the end of your PowerShell profile:Add-Content $PROFILE "`n[System.Environment]::SetEnvironmentVariable('PATH',`$Env:PATH+';;$GO_IPFS_LOCATION')"
Load your
$PROFILE
:& $profile
Test that your IPFS path is set correctly by going to your home folder and asking IPFS for the version:
cd ~ ipfs --version > ipfs version 0.11.0
# macOS
M1-based Macs
You can install IPFS on M1-based Macs by using the darwin-arm64
binary instead of the amd64
binary listed in these instructions.
Download the macOS binary from
dist.ipfs.io
(opens new window).curl -O https://dist.ipfs.io/go-ipfs/v0.11.0/go-ipfs_v0.11.0_darwin-amd64.tar.gz
Unzip the file:
tar -xvzf go-ipfs_v0.11.0_darwin-amd64.tar.gz > x go-ipfs/install.sh > x go-ipfs/ipfs > x go-ipfs/LICENSE > x go-ipfs/LICENSE-APACHE > x go-ipfs/LICENSE-MIT > x go-ipfs/README.md
Move into the
go-ipfs
folder and run the install script:cd go-ipfs bash install.sh > Moved ./ipfs to /usr/local/bin
Check that IPFS installed:
ipfs --version > ipfs version 0.11.0
# Linux
Download the Linux binary from
dist.ipfs.io
(opens new window).wget https://dist.ipfs.io/go-ipfs/v0.11.0/go-ipfs_v0.11.0_linux-amd64.tar.gz
Unzip the file:
tar -xvzf go-ipfs_v0.11.0_linux-amd64.tar.gz > x go-ipfs/install.sh > x go-ipfs/ipfs > x go-ipfs/LICENSE > x go-ipfs/LICENSE-APACHE > x go-ipfs/LICENSE-MIT > x go-ipfs/README.md
Move into the
go-ipfs
folder and run the install script:cd go-ipfs sudo bash install.sh > Moved ./ipfs to /usr/local/bin
Test that IPFS has installed correctly:
ipfs --version > ipfs version 0.11.0
# Compile manually
Manually compiling IPFS is a fairly involved process that changes frequently. It can be handy if you'd like to build a specific branch or use the bleeding-edge version of Go-IPFS. See the ipfs/go-ipfs
GitHub repository for details → (opens new window)
# Next steps
Now that you've got an IPFS node installed, you can start building applications and services on top of the network! Check out the Command-line- quicks start guide and jump straight to the Initialize the repository section.