hugo
hugo 在windows X64平台支持Sass/SCCS。
快捷安装
最快捷的方法就是去tag下载二进制文件了,hugo with extended。在下载页面寻找hugo_extended_version_os_arch下载。
编译安装
可以参考hugo的Readme.md。
hugo extended 在编译之前需要CGO支持,在命令行运行
1
|
go env -w CGO_ENABLED=1
|
在 https://www.mingw-w64.org/downloads/ 下载支持windows_x64的二进制构建包mysys2。
按照mysys2安装说明mysys2 started安装mysys2。
打开 MYSYS2 UCRT64,安装支持windows x64 ucrt gcc。
1
2
3
4
5
6
7
8
9
10
11
12
|
pacman -Syu
pacman -S mingw-w64-ucrt-x86_64-gcc
gcc -v
Using built-in specs.
COLLECT_GCC=C:\msys64\ucrt64\bin\gcc.exe
COLLECT_LTO_WRAPPER=C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
...
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (Rev6, Built by MSYS2 project)
|
安装完mingw-w64-ucrt-x86_64-gcc后,在windows系统环境变量PATH里面添加C:\msys64\ucrt64\bin。让go编译的时候能找到gcc。
下面开始下载代码进行编译。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
go version
go version go1.15.2 windows/amd64
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended
...
Error: export ordinal too large: 78124
go install -a -x -tags extended
...
c:\go\pkg\tool\windows_amd64\link.exe: running g++ failed: exit status 1
../x86_64-w64-mingw32/bin/ld.exe: Error: export ordinal too large: 78124
collect2.exe: error: ld returned 1 exit status
go install -a -x -v -buildmode=exe -tags extended
...
cp $WORK\b001\exe\a.out.exe C:\Users\bob\go\bin\hugo.exe
|
编译的时候报告Error: export ordinal too large: 78124,参考 https://github.com/golang/go/issues/40795 需要加上-buildmode=exe,具体原因需要等待golang官方调查…
该问题已经在go1.16版本修复.
ldflags
默认编译的文件比较大,可以使用-ldflags “-w -s"去掉调试信息。
1
|
go install -v -ldflags "-w -s" -tags extended
|
需要全编译加上 -a即可。
1
|
go install -a -x -v -ldflags "-w -s" -tags extended
|