Download the appropriate Hugo executable for your platform from Github and
try to copy it to a system directory so blogdown can run the
hugo
command to build a site.
Usage
install_hugo(
version = "latest",
extended = TRUE,
arch = "auto",
os = "auto",
force = FALSE,
...
)
update_hugo()
Arguments
- version
The Hugo version number, e.g.,
0.26
; the special valuelatest
means the latest version (fetched from Github releases). Alternatively, this argument can take a file path of the zip archive or tarball of the Hugo installer that has already been downloaded from Github, in which case it will not be downloaded again.- extended
Whether to use extended version of Hugo that has SCSS/SASS support. You only need the extended version if you want to edit SCSS/SASS. Note that this feature is not available to Hugo version lower than v0.43. It also requires a 64-bit system; if the system is based on the ARM architecture, only macOS is supported at the moment.
- arch, os
The architecture and operating system name. These arguments, along with
version
andextended
, determines the filename of the Hugo installer. See https://github.com/gohugoio/hugo/releases for all of Hugo's installers. By default, the argument values are automatically detected. In case the detection should fail, you can provide the values manually, e.g.,extended = FALSE
,arch = 'ARM64'
, andos = 'FreeBSD'
would installhugo_*_FreeBSD-ARM.tar.gz
.- force
Whether to reinstall Hugo if the specified version has been installed.
- ...
Ignored.
Details
This function tries to install Hugo to Sys.getenv('APPDATA')
on
Windows, ~/Library/Application Support
on macOS, and
~/.local/share
on other platforms (such as Linux). The hugo
executable is installed to a subdirectory with the Hugo version number being
its name, e.g., ~/Library/Application Support/Hugo/0.76.5
. If these
directories are not writable, the R package directory Hugo
of
blogdown will be used. If it still fails, you have to install Hugo by
yourself and make sure it can be found via the environment variable
PATH
.
This is just a helper function and may fail to choose the correct Hugo executable for your operating system, especially if you are not on Windows or macOS or a major Linux distribution. When in doubt, read the Hugo documentation and install it by yourself: https://gohugo.io.
If you want to install Hugo to a custom path, you can set the global option
blogdown.hugo.dir
to a directory to store the Hugo executable before
you call install_hugo()
, e.g., options(blogdown.hugo.dir =
'~/Downloads/Hugo')
. This may be useful for you to use a specific version of
Hugo for a specific website. You can set this option per project. See
Section 1.4
Global options for details, or store a copy of Hugo on a USB Flash drive
along with your website.
Note
For macOS users, you are not recommended to install Hugo via Homebrew, because you may accidentally update it to the latest version, which might break your existing sites.
See also
remove_hugo()
to remove Hugo.