天下熙熙,皆为利来;天下攘攘,皆为利往。
司马迁,《史记》

Intro

Hugo 和 Go 语言在树莓派的 ARM 架构下差点没把我折腾个半死 ,这里写下折腾后的解决方案。

Pi with Go

由于 Hugo 在 ARMV7 平台下没有 extend 版本,所以需要用 Go 语言现场编译,但是树莓派的指令只能装到 1.11 版本,有些 Hugo 的插件需要高版本 Go, 于是开启了折腾之旅。

cd $HOME
FileName='go1.13.6.linux-armv6l.tar.gz'
wget https://dl.google.com/go/$FileName
sudo tar -C /usr/local -xvf $FileName
cat >> ~/.bashrc << 'EOF'
export GOPATH=$HOME/go
export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
EOF
source ~/.bashrc
reboot

日后如果想要安装其他版本,直接去官网查看最新版本更改 Filename 然后保存为 shell 脚本即可安装,nano .bashrc 可以保证 Go 语言在环境变量里。以上方法是最简单的了,再也不敢随便自己尝试编译了,内存根本不够不说还非常耗时。


Pi with Hugo

在编译 Hugo 之前有几个问题:一个是可能造成 CPU 阻塞需要把线程栈调制 1 MB,还有就是内存可能不够,需要开启虚拟内存。

ulimit -s 1024  
/etc/dphys-swapfile 
CONF_SWAPSIZE=2048
/etc/init.d/dphys-swapfile restart

这样就直接调制 2048 最大虚拟内存了,最后直接开始编译:

mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended

耐心等待即可,extend 版本安装完毕后就再也不用担心 sass 文件无法编译的问题了。


Others

在 VNC 下有时候无法编辑文件,需要我们改成 root 用户直接登录修改。

sudo passwd root
sudo passwd --unlock root
su root

Reference

Pi_script

Pi_swap

Hugo_assemble

Hugo_ulimit

Pi_root_unlock