This page looks best with JavaScript enabled

it as a Hugo Module or store it in "/opt/build/repo/themes". は submodule が原因

 ·  ☕ 3 分で読めます
✏️

HugoプロダクトをNetlifyでデプロイするときに、以下のようなエラーが出て失敗することがありました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
(略)
2:23:09 AM: ────────────────────────────────────────────────────────────────
2:23:09 AM:   Netlify Build
2:23:09 AM: ────────────────────────────────────────────────────────────────
2:23:09 AM: ​
2:23:09 AM: ❯ Version
2:23:09 AM:   @netlify/build 20.0.4
2:23:09 AM: ​
2:23:09 AM: ❯ Flags
2:23:09 AM:   baseRelDir: true
2:23:09 AM:   buildId: 61aa526fdabf93000838a219
2:23:09 AM:   deployId: 61aa526fdabf93000838a21b
2:23:09 AM: ​
2:23:09 AM: ❯ Current directory
2:23:09 AM:   /opt/build/repo
2:23:09 AM: ​
2:23:09 AM: ❯ Config file
2:23:09 AM:   /opt/build/repo/netlify.toml
2:23:09 AM: ​
2:23:09 AM: ❯ Context
2:23:09 AM:   production
2:23:09 AM: ​
2:23:09 AM: ────────────────────────────────────────────────────────────────
2:23:09 AM:   1. build.command from netlify.toml
2:23:09 AM: ────────────────────────────────────────────────────────────────
2:23:09 AM: ​
2:23:09 AM: $ hugo --gc --minify
2:23:09 AM: Error: module "zzo" not found; either add it as a Hugo Module or store it in "/opt/build/repo/themes".: module does not exist
2:23:09 AM: Total in 1 ms
2:23:09 AM: ​
2:23:09 AM: ────────────────────────────────────────────────────────────────
2:23:09 AM:   "build.command" failed
2:23:09 AM: ────────────────────────────────────────────────────────────────
2:23:09 AM: ​
2:23:09 AM:   Error message
2:23:09 AM:   Command failed with exit code 255: hugo --gc --minify
2:23:09 AM:
2:23:09 AM:   Error location
2:23:09 AM:   In build.command from netlify.toml:
2:23:09 AM:   hugo --gc --minify
2:23:09 AM:
(略)​​

抜き出すとエラー自体はこれです↓

1
Error: module "zzo" not found; either add it as a Hugo Module or store it in "/opt/build/repo/themes".: module does not exist

原因は、Netlify側でtheme/zzoを取得できていないことです。これはGitHubを見ると、theme/zzoディレクトリが存在していないのでわかりやすいです。
ローカルではtheme/zzoディレクトリが存在しているので、エラーが出ても原因に気づかないことがあります。私のことです。
たとえ.gitmodulesが存在していても、サブモジュールのファイルがなければ追跡しません。
これがちゃんと追跡しているか確かめるためには、GitHubのリポジトリを見てtheme/zzoの先がリンクになっているか確認する、または、以下のコマンドで可能です。

$ git submodule
 01f9e43e59b0efcc3d17d2d435834bb69c6e6668 themes/zzo (heads/master)

もしこうなっていた場合は、以下のコマンドで再度サブモジュールを追跡できます。

$ git submodule update --remote

image

Share on

END
END
@aiandrox

目次