Fedora 25にHugoをインストール

他のLinuxディストリにも

今回の記事はFedoraリナックスに静的ウェブサイトジェネレーターHugoのインストールについてです。Hugo(発音:ヒューゴ)はOctopressJekyllと同様、コンテンツをMarkdownで記載し、タイトルなどの設定を決め、テーマを選ぶだけで簡単にウェブサイトを作れます。そしてWordpressなどと違って出来上がるサイトはデータベースを使わないため、サイトのセキュリティと速さが抜群。

Hugoは機能豊富で処理スピードが恐ろしく早い、本当に優れているツールです。ただ、現時点ではHugoのRPMがないので、FedoraなどのRPMディストリを使っている人にインストールが困難かもしれません。

私の場合は色んなインストールの仕方(非公式RPM、snap、ソースコードからコンパイル)を検討したけど、なかなか最新バージョンを簡単にインストールする方法はありませんでした。調べていたときは何度もUbuntuでできるsudo apt-get install hugoを「いいな〜」と思いました。

でもありがたいことに、結局答えが簡単でした。

実はHugoには必要とするライブラリがなく、単独のバイナリでできています。そのため、ダウンロードしたらバイナリファイルのディレクトリをPATH環境変数に通したらそのまま使えます。

ステップ1:ダウンロード

最初はHugoのリリースページから自分のシステムのファイルの最新バージョンをダウンロードします。私は64ビットのシステムでFedoraを使っているのでhugo_0.19_Linux-64bit.tar.gzをダンロードしました。

ステップ2:ファイルを展開

次はダウンロードしたファイルを実行するディレクトリに展開します。インストールする場所としては、Hugoのインストールガイドが「/usr/local/binなどの、すでにPATHの通っているディレクトリ」を勧めるけど、私はこういう手動的なインストールをホームディレクトリにするほうがいいと思っています。なぜなら、もし間違いをしたら自分のシステムを壊してしまう可能性が低くなるからです。

ここではホームディレクトリに「bin」というディレクトリにインストールするとします。他の場所にインストールするときは以下のコードに~/binをインストールするパスに変換してください。

インストールディレクトリがまだ存在しない場合は新しく作ります。

$ mkdir ~/bin

次はダウンロードしたHugoのtar.gzファイルのディレクトリを作りましょう。このようにしておけば、ディレクトリ構成がきれいに保ち、違うHugoバージョンに簡単に切り替えることができます。ここではディレクトリ名に「hugo_0.19」を使いますが。ダウンロードしたバージョンに合うように変えてください。

$ cd ~/bin
$ mkdir hugo_0.19

そしたらHugoのtar.gzファイルを展開します。私の場合は~/Downloadsに保存されていました。

$ tar -xzf ~/Downloads/hugo_0.19_Linux-64bit.tar.gz --directory=hugo_0.19

ステップ3:シンボリックリンクを作る

ステップ2の「tar」コマンドの結果はこのようなディレクトリ構成:

.
└── hugo_0.19
    ├── hugo
    ├── LICENSE.md
    └── README.md

現段階では~/software/hugo_0.19/hugoでHugoを実行することができますが、Hugoバージョンを更新するたびにコマンドが変わってしまいます。毎回同じコマンドでHugoを実行できるように、インストールするディレクトリからバイナリファイルへのシンボリックリンクを作りましょう。リンク名はHugoを実行するために入力するコマンドになるので、「hugo」にします。

$ ln -s hugo_0.19/hugo hugo

ここでhugo_0.19/hugoを展開したバイナリファイルへのパスを変換してください。

ステップ4:パスに通す

ステップ3が終わったら~/bin/hugoでHugoを実行できますが、hugoだけで実行できたら便利ですよね。そうするには~/binディレクトリをPATH環境変数に通す作業が必要です。(~/bin以外の場所を選んだ場合は以下のコードで$HOME/binを変換してください。PATH環境変数では~記号が使えないけど、ホームディレクトリへのショートカットとしては$HOMEが使えます。)

まずはPATHの値に~/binディレクトリを追加します。

$ PATH=$PATH:$HOME/bin

そしてシステムが新しいPATHを使うように「export」で登録します。

$ export PATH

これのコマンドは今のセッションに十分ですが、再起動したらPATHがリセットされてしまいます。いつでもHugoを使えるようには、新しいセッションが始まるときにPATHを更新しないといけません。

ここで「.bashrc」が登場します。他のPATH更新のやり方もありますが、「.bashrc」がもっとも一般的です。お好みのエディターで~/.bashrcを開いて、以上の2つのコマンドを追加します。(~/.bashrcがない場合は新しく作ってください。)

PATH=$PATH:$HOME/bin
export PATH

Hugoの動作を確認しましょう。

$ hugo --help

このコマンドの結果はHugoのヘルプ画面であれば、インストールが成功しました。次はHugoのクイックスタートガイドを確認してウェブサイトを作りましょう!

ステップ5:Pygments(任意)

[EDIT] Hugo v0.28以上ではシンタックスハイライトがHugo自体に組み込まれているため、このステップを行う必要がなくなりました。

ウェブサイトにコンピュータコードを表示することがあれば、PygmentsをインストールしておいたらHugoが自動的にシンタックスハイライトをしてくれます。Pythonの「pip」パッケージマネージャーでインストールできます。

$ pip3 install --user Pygments

このコマンドにある--userは現在のユーザのホームディレクトリにインストールするための引数です。pipでパッケージをシステム全体でインストールしたらシステムのパッケージマネージャとの衝突もあるかもしれないので、控えたほうがいいでしょう。

Hugoの更新

ステップ3で作ったシンボリックリンクのおかげで、Hugoを更新するには新しいバージョンをダウンロードし、展開し、リンク先を更新するだけです。

ここでは64ビットのHugo v0.20に更新することを想定して、ダウンロードディレクトリを~/Downloadsとします。

$ cd ~/bin
$ mkdir hugo_0.20
$ tar -xzf ~/Downloads/hugo_0.20_Linux-64bit.tar.gz --directory=hugo_0.20
$ ln -sf hugo_0.20/hugo hugo

もし必要であれば、古いバージョンを削除します。古いバージョンがv0.19と想定します。

$ rm -r hugo_0.19

FedoraのパッケージマネージャーでHugoをインストールすることができたら一番だと思いますが、そうなるまでに以上の方法でインストールするといいでしょう。どうぞHugoでウェブサイト作成を楽しんでください!

comments powered by Disqus