安装Hugo
安装 Hugo
在 Windows, Linux, macOS,OpenBSD,FreeBSD 等等一切可以运行Go语言编译器的机器上安装Hugo。
Hugo是使用Go语言开发的,因此Hugo可以是独立的可执行程序,使用Hugo的预编译版本,不需要依赖Go语言,所以使用Hugo不必安装Go。
编写Hugo的Go语言支持多种平台,可以在这里找到github上最新版本的Hugo。 目前Hugo提供以下系统的预编译可执行程序:
- macOS
- Windows
- Linux
- OpenBSD
- FreeBSD
当然也可以用源代码自行编译,只要是可以运行Go编译器的系统都可以使用Hugo。
快速安装
使用预编译版本
从Hugo发布页下载对应系统的预编译可执行程序。这个程序非常绿色,不需要执行安装过程,也不需要安装其他的运行环境,可以直接在任意目录运行。
理想情况下,还是应该把它放在PATH
环境变量包含的目录中,这样使用起来比较方便,一般是放在/usr/local/bin
使用Docker
官方并没有提供,但是推荐使用这个: https://hub.docker.com/r/klakegg/hugo/
Homebrew (macOS)
如果使用macOS和Homebrew,可以使用如下,一行代码来安装Hugo :
brew install hugo
关于在 macOS 和 Windows 下安装 Hugo ,下面有更详细的说明。
MacPorts (macOS)
如果使用macOS和MacPorts,可以使用如下,一行代码来安装Hugo :
port install hugo
Homebrew (Linux)
如果使用 Linux 和 Homebrew,可以使用如下,一行代码来安装Hugo:
brew install hugo
Homebrew官方网站有 如何在 Linux 上安装 Homebrew 的详细说明。
Chocolatey (Windows)
如果使用 Windows 并且使用 Chocolatey 作为包管理器,可以使用如下一行代码来安装 Hugo :
choco install hugo -confirm
如果想要使用支持 Sass/SCSS 的扩展版Hugo的话,可以使用如下命令:
choco install hugo-extended -confirm
Scoop (Windows)
如果使用 Windows 并且使用 Scoop 作为包管理器,可以使用如下一行代码来安装 Hugo :
scoop install hugo
如果想要使用支持 Sass/SCSS 的扩展版Hugo的话,可以使用如下命令:
scoop install hugo-extended
从源代码自行编译安装
需要的工具
从 GitHub 获取源代码
示例如下:
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended
如果不需要 Sass/SCSS 支持的情况下,可以在最后一行不带--tags extended
。
Windows 下需要将以上命令中的环境变量
$HOME
替换为%USERPROFILE%
。
为 macOS 安装 Hugo
前提
- 知道如何打开 macOS 的终端。
- 使用最新的64位的 Mac 。
- 使用
~/Sites
目录来存放你的网站。(~/Sites
只是为了演示方便,如果你已足够了解命令行和文件系统,放哪都可以。)
选择安装方式
在 Mac 上安装 Hugo 有三种方法:
利弊
上述安装方式的利弊分析:
- 包管理器。使用包管理器是最简单的方法,缺点并不严重。默认使用的包是最近一次释出的版本,因此并不是最新的,所以直到下次释出之前,近期 Bug 不会修复(在Homebrew 中使用
--HEAD
选项可以避免这个问题)。释出版可能会延期几天,尽管如此,使用包管理器也是推荐的方式,因为可以确保使用的是广泛使用的稳定版本,而且易于升级更新。 - 使用预编译版本。下载安装一个Tar包也很简单,尽管比用包管理器需要多几条命令行。升级更新也不难:下载新版再重新执行这些步骤就行了。甚至可以同时安装多个版本,如果不想使用包管理器,推荐使用预编译版本。
- 从源代码自行构建。这个是最复杂的安装方式。优点是可以得到最新的版本,不用等待下一个版本释出就可以使用修复了最新Bug或增加了新功能的最新版本。缺点是安装比上两种方法要麻烦,在安装上要花更多的时间。
使用 Brew 安装 Hugo
第一步:如果之前没有安装过 brew
,先安装 brew
可以到 brew
的官方网站了解详细的安装方法。
第二步:使用 brew
安装 hugo
使用 brew
安装 hugo
,很简单:
brew install hugo
通常情况你会看到类似下面的输出:
==> Downloading https://homebrew.bintray.com/bottles/hugo-0.21.sierra.bottle.tar.gz
######################################################################### 100.0%
==> Pouring hugo-0.21.sierra.bottle.tar.gz
/usr/local/Cellar/hugo/0.21: 32 files, 17.4MB
如果不想使用稳定版而想使用最新开发版的话可以使用
brew install hugo --HEAD
来安装。
brew
会确保 Hugo 可用,现在可以打开一个新的终端窗口做一下验证:
$ # 查看 hugo 可执行文件的存放位置
which hugo
/usr/local/bin/hugo
# 查看 hugo 的真实安装位置和版本号
ls -l $( which hugo )
lrwxr-xr-x 1 mdhender admin 30 Mar 28 22:19 /usr/local/bin/hugo -> ../Cellar/hugo/0.13_1/bin/hugo
# 验证 hugo 运行正常
hugo version
Hugo Static Site Generator v0.13 BuildDate: 2015-03-09T21:34:47-05:00
使用预编译版本安装 Hugo
第一步:确定安装位置
使用预编译版本,必须先决定安装位置,一般有三种选择:
- 安装到
/usr/local/bin
目录,这样的话,系统上所有用户都可以访问到 hugo 。通常应用程序都是放在这里。缺点是可能需要提升权限才能把软件放到这里。并且系统上的所有用户都使用同一个版本,当你想用新版本的时候,可能会出问题。 - 安装到
~/bin
目录,这样的话就只有你自己可以使用。好处是管理简单而且不需要提权,切换版本很方便。缺点也是只有你自己可以用。其他的用户只能自行安装自己的版本。这就可能导致大家使用不同的版本。 - 安装到你的
Sites
目录,当你只有一个站点的时候可以考虑这么做,把所有的东西放到同一个目录里,试用新版本时只需要整体拷贝一份再把其中的 hugo 替换就行了。
简洁起见,我们假设安装到了 ~/bin
目录。
第二步:下载预编译文件,通常是个压缩包(tar包)
- 用浏览器打开 https://github.com/gohugoio/hugo/releases
- 找到标着
Latest
绿色小标签的最新版。 - 下载Mac版的压缩包。文件名一般是
hugo_X.Y_macOS-64bit.tar.gz
,其中X.Y是版本号。 - 默认会下载到
~/Downloads
目录,如果你指定了其他的位置,就需要把后面步骤中的路径替换一下。
第三步:检查一下下载的压缩包
验证一下包的完整性,确保下载的时候网络没有中断:
tar tvf ~/Downloads/hugo_X.Y_macOS.tar.gz
-rwxrwxrwx 0 0 0 0 Feb 22 04:02 hugo_X.Y_macOS-64bit/hugo_X.Y_osx-64bit.tgz
-rwxrwxrwx 0 0 0 0 Feb 22 03:24 hugo_X.Y_macOS-64bit/README.md
-rwxrwxrwx 0 0 0 0 Jan 30 18:48 hugo_X.Y_macOS-64bit/LICENSE.md
两个 .md
文件是 Hugo
的文档。另外一个文件就是可执行文件。
第四步:安装到 ~/bin/
目录
# 如果目录不存在就创建一下
mkdir -p ~/bin
# 切换工作目录
cd ~/bin
# 解压缩包
tar -xvzf ~/Downloads/hugo_X.Y_macOS-64bit.tar.gz
Archive: hugo_X.Y_macOS-64bit.tar.gz
x ./
x ./hugo
x ./LICENSE.md
x ./README.md
# 验证安装是否成功
./hugo version
Hugo Static Site Generator v0.13 BuildDate: 2015-02-22T04:02:30-06:00
用 which
命令检查一下 hugo
在不在 PATH
环境变量中。
which hugo
/Users/USERNAME/bin/hugo
如果没有任何输出,需要手动添加一下:
- 首先确定一下终端类型(zsh 或者 bash)
echo $SHELL
- 编辑配置文件 如果是zsh:
nano ~/.zprofile
如果是bash:
nano ~/.bash_profile
- 增加
$HOME/bin
到PATH
环境变量中。
export PATH=$PATH:$HOME/bin
- 保存文件,按 Control+X,再按 Y。
- 重新打开终端,再次输入
which hugo
进行检测。 至此 Hugo 安装成功。
在 Mac 上使用源代码安装 Hugo
首先需要 Golang 编译器,可以从 Go语言的官方网站 下载,也可以通过 Homebrew 安装:
brew install go
第一步:得到源代码
如果需要编译特定版本 Hugo ,可以从这里下载: https://github.com/gohugoio/hugo/releases 。如果想要使用最新版(当然可能包括最新的Bug),可以这样:
git clone https://github.com/gohugoio/hugo
如果使用最新版本发现问题,欢迎在 Github 上提交 issue 。
第二步:编译
首先获取编译所需依赖项:
mkdir -p src/github.com/gohugoio
ln -sf $(pwd) src/github.com/gohugoio/hugo
go get
以上命令会获取最新版本的依赖项,如果 hugo 编译失败,多半是因为某个依赖项的作者做了一些突破性的修改。 配置合适之后,就可以使用如下命令编译:
go build -o hugo main.go
编译成功之后,就会得到 hugo 文件,然后按照预编译文件的使用方法,放入 $PATH 环境变量中指示的某个目录中,即安装完成。
在 Windows 中安装 hugo
下面是在 Windows 中安装 hugo的完整步骤。
假设
- 使用
C:\Hugo\Sites
作为项目根目录。 - 使用
C:\Hugo\bin
存放 hugo 可执行文件。
准备工作环境
- 打开 Windows 文件资源管理器。
- 创建
C:\Hugo
文件夹。 - 创建子文件夹
C:\Hugo\bin
- 创建子文件夹
C:\Hugo\Sites
- 下载预编译包。
- 解压所有内容到
..\Hugo\bin
- 将 hugo 添加到 PATH 环境变量。
验证安装
验证安装是否成功。
- 打开终端
输入
hugo help
,应该会显示如下内容:
hugo is the main command, used to build your Hugo site.
Hugo is a Fast and Flexible Static Site Generator
built with love by spf13 and friends in Go.
Complete documentation is available at https://gohugo.io/.
切换到项目目录:
C:\Program Files> cd C:\Hugo\Sites
C:\Hugo\Sites>
- 运行命令
创建一个新的站点,假如叫做
example.com
C:\Hugo\Sites> hugo new site example.com
C:\Hugo\Sites> cd example.com
C:\Hugo\Sites\example.com> dir
Directory of C:\hugo\sites\example.com
04/13/2015 10:44 PM <DIR> .
04/13/2015 10:44 PM <DIR> ..
04/13/2015 10:44 PM <DIR> archetypes
04/13/2015 10:44 PM 83 config.toml
04/13/2015 10:44 PM <DIR> content
04/13/2015 10:44 PM <DIR> data
04/13/2015 10:44 PM <DIR> layouts
04/13/2015 10:44 PM <DIR> static
1 File(s) 83 bytes
7 Dir(s) 6,273,331,200 bytes free
在 Linux 上安装 Hugo
snap 包管理器
在支持snap的Linux系统上,安装"extended"支持SASS/SCSS的版本:
snap install hugo --channel=extended
安装非扩展版使用:
snap install hugo
在两者之间切换,可以使用 snap refresh hugo --channel=extended
或者 snap refresh hugo --channel=stable
。
基于snap的安全模型导致通过snap安装的Hugo,只能在用户的
$HOME
目录或者归用户所有的 gvfs-mounted 目录写入。
在 Debian 和 Ubuntu 上安装 Hugo
@anthonyfok 和朋友们,在 Debian Go包管理团队 管理了一个官方的 hugo Debian 包 ,这个包是和Ubuntu共享的,所以都可以使用 apt-get 安装:
sudo apt-get install hugo
安装的版本依赖于系统版本,在Ubuntu bionic (18.04),安装的是非扩展版本。在Ubuntu disco (19.04),安装的是支持Sass/SCSS的扩展版。 这种方法不是特别推荐,因为通常会滞后几个版本。
在 Arch Linux 上安装 Hugo
sudo pacman -Syu hugo
在 Fedora, Red Hat 和 CentOS 上安装Hugo
sudo dnf install hugo
在 Solus 上安装 Hugo
sudo eopkg install hugo
在 OpenBSD 上安装 Hugo
doas pkg_add hugo
升级Hugo
可以下载最新的包,并替换Hugo的可执行文件。或者如果有Homebrew,可以使用 brew upgrade hugo
,其它的包管理器类似。