Recently, I needed to upgrade the version of hugo generating this website. As I have other active projects that require dynamic execution, I’ve retained a level of hosting outside of the static variety available with GitHub Pages and Netlify. The main host that I’ve used for about 10 years+ now is Dreamhost. Unfortunately, Dreamhost does not provide sudo
access for those on shared accounts making installation with the apt-get
and dpkg
, e.g. .deb
files, problematic.
Luckily, Hugo makes available a set of binaries with each release on GitHub. Thus, the majority of work is downloading and extracting the binary. The instructions given next are modified from Hugo’s installing from a tarball overview.
Installing hugo from a binary
To obtain hugo
’s latest version number visit:
https://github.com/gohugoio/hugo/releases/latest
Then, let’s install it with:
# Specify the version number desired
VERSION=0.58.0
# Download hugo to the working directory
wget https://github.com/gohugoio/hugo/releases/download/v${VERSION}/hugo_${VERSION}_Linux-64bit.tar.gz
# Create a user binary directory
mkdir ~/bin
# Extract only the hugo binary
tar -xvf hugo_${VERSION}_Linux-64bit.tar.gz hugo
# Move hugo binary into user-specific bin directory
mv hugo ~/bin/hugo
# Verify version
~/bin/hugo version
# Remove the tarball
rm -rf hugo_${VERSION}_Linux-64bit.tar.gz
From there, the $PATH
variable needs to be modified to include the hugo
binary version sitting in $HOME/bin
. That is, we want to access hugo with hugo
and not ~/bin/hugo
. This modification is straightforward:
# Create a bash profile if it doesn't exist
touch .bash_profile
# Add a modified version of path to it and make it available in the session.
echo "export PATH=$PATH:$HOME/bin" >> .bash_profile
Fin
Voila, the installation of hugo
on DreamHost is now complete!