Hugo Extendedをnpmを利用してインストールする
Hugo Extendedをどの環境でも同じバージョンを同じ手順でインストールするのにnpmパッケージのhugo-extendedが便利でしたので、それを利用する手順をまとめました。
hugo-extendedとは
hugo-extendedはHugo Extendedのバイナリをnpmを利用してダウンロードしてnode.js経由で実行することができるnpmパッケージです。
同じようなnpmパッケージではhugo-binがあり、hugo-extendedはhugo-binをフォークしたリポジトリです。
hugo-binではnpmパッケージのバージョンとダウンロードされるHugoのバージョンが一致していませんが、hugo-extendedではバージョンが一致しているので、より利用しやすいと思います。
✏️ Plug-and-play Node.js wrapper for Hugo Extended, the awesomest static-site generator. - jakejarvis/hugo-extended: ✏️ Plug-and-play Node.js wrapper for Hugo Extended, the awesomest static-site generator.
hugo-extendedのインストール
nodejsやnpmがインストールされていない場合はnodejs、npmをインストールします。npm以外にもyarnやpnpmなどのパッケージマネージャがありますが、今回はnpmを利用しました。
Hugoのプロジェクトディレクトリに移動してnpmプロジェクトの初期化を行います。すでにpackage.json
がある場合は必要ありません。
npm init
以下のコマンドでhugo-extendedをインストールします。
npm install hugo-extended --save-dev
インストール後に生成されるpackage-lock.json
はGitの管理に含め、node_modules
ディレクトリはGitの管理から除外するようにします。
それではインストールされたHugoのバージョンを確認します。
npx hugo version
Readmeにあるようにnpmパッケージのhugo-extendedのバージョンはダウンロードされるHugoのバージョンと一致します。
This package’s version numbers align with Hugo’s — [email protected] installs Hugo v0.64.1, for example.
Vercelへのデプロイ
Hugoの実行をnpmで行うようにpackage.json
にscriptを追加します。
デプロイの設定をvercel.json
のinstallCommand、buildCommandに追加するか、またはvercelの管理画面から設定します。
設定を追加したらvercelにデプロイして完了です。
おわりに
Hugo Extendedをnpm経由でインストールすることで、どの環境でも同じ手順で同じバージョンのHugoを簡単にインストールすることができました。
他にも同じようにバイナリをnpm経由でダウウンロード、実行するパッケージはありそうなので別の場面でも探して利用すると便利だと思います。