Skip to content

Instantly share code, notes, and snippets.

@pourmand1376
Last active October 24, 2024 08:47
Show Gist options
  • Save pourmand1376/bc48a407f781d6decae316a5cfa7d8ab to your computer and use it in GitHub Desktop.
Save pourmand1376/bc48a407f781d6decae316a5cfa7d8ab to your computer and use it in GitHub Desktop.
Single User Installation of Git-LFS without sudo

I wanted to install GIT-Lfs on my user account without access to server root account. I write this to my future self.

  1. Download tar.gz file from git-lfs website.
wget https://github.com/git-lfs/git-lfs/releases/download/v3.2.0/git-lfs-linux-amd64-v3.2.0.tar.gz

2.Untar it

tar xvf git-lfs-linux-amd64-v3.2.0.tar.gz
  1. Go to directory
cd git-lfs-3.2.0/
  1. give permission to file install.sh
chmod +x install.sh
  1. Edit file install.sh and change prefix from /usr/local/ to $HOME/.local (Fix bug that @G-Thor has mentioned)
sed -i 's|^prefix="/usr/local"$|prefix="$HOME/.local"|' install.sh
  1. Do not forget to create .local/bin in your home folder if that doesn't exist. Add Path .local/bin path to terminal.
mkdir -p ~/.local/bin/
export PATH="$HOME/.local/bin:$PATH"
  1. Now you can run ./install.sh to install git-lfs.
./install.sh

You should see Git LFS Initalized.

  1. Check your installation:
git-lfs --version
  1. Add .local/bin to .bashrc or whatever shell you use. This step is to make sure that your shell can find git-lfs binaries.

All in one (just copy and paste into terminal):

wget https://github.com/git-lfs/git-lfs/releases/download/v3.2.0/git-lfs-linux-amd64-v3.2.0.tar.gz
tar xvf git-lfs-linux-amd64-v3.2.0.tar.gz
cd git-lfs-3.2.0/
chmod +x install.sh
sed -i 's|^prefix="/usr/local"$|prefix="$HOME/.local"|' install.sh
mkdir -p ~/.local/bin/
export PATH="$HOME/.local/bin:$PATH"
./install.sh
git-lfs --version
@HYZ17
Copy link

HYZ17 commented Jul 29, 2024

Thank you !

@rhngla
Copy link

rhngla commented Aug 18, 2024

The current (v.3.4.1) version of the installation script appends "/bin" to the prefix after it is declared so changing prefix="$YOUR_HOME/.local/bin" to prefix="$YOUR_HOME/.local" may solve the problem for @adipill04

Thanks @G-Thor, this was the fix I needed as well for v3.5.1. Also thanks to @pourmand1376 for these instructions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment