0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rust】Docs.rsでビルドエラーが出たらどうしたらいい?

Posted at

ローカルではビルド出来てたのに...?

Rustで作ったクレートを、Crates.ioにパブリッシュすると、自動でDocs.rsのほうにそのクレートのドキュメントが生成されます。

ただ、僕がとあるクレートをパブリッシュした後Docs.rsを確認してみると以下のようなメッセージでビルドエラーを告げられました。

image.png

要は、ビルド失敗してるからbuild logを見てみてねと書かれています。

build logは以下のようになっていました。カオスですね。
image.png

原因と対処

まずDocs.rsは、アップロードされたクレートに対してデフォルトでlinux用にビルドするらしいです。僕のクレートはwinapiというwindows専用のクレートを使っていたため、当たり前ですがlinuxでは動かず、このような「ほとんどののシンボルが存在しません」というようなエラーが出ていたようです。

私の場合、以下のようにCargo.tomlに書き込むことでDocs.rsがwindows用にビルドするように命令し、エラーを消すことができました。

[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["aarch64-pc-windows-msvc", "i686-pc-windows-msvc", "x86_64-pc-windows-msvc"]
# こういうのもあり
# features = ["everything"]

どうしても原因が分からない人のための救済措置

実はrustチームは、Docs.rsのビルドでエラーが出た方の質問を、Githubのissueを通して受け付けています。
**このリンク**からCrate Build Failureを選択し、issueを発行してみましょう。
**僕の場合はその日のうちに返信が来て、解決することができました。(2021/11/05)**本当に親切なチームです。感謝です。

以上、Docs.rsのビルドエラーで困った人用のメモでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?