Skip to content

Commit 2bd26fd

Browse files
committed
『cargoプロジェクトで依存関係を継続的に管理する』を書いた
1 parent d5ab03a commit 2bd26fd

File tree

1 file changed

+31
-0
lines changed
  • content/posts/manage-cargo-dependencies

1 file changed

+31
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: "cargoプロジェクトで依存関係を継続的に管理する"
3+
tags: ["cargo", "rust", "OSS"]
4+
5+
cover: "https://blog.kyu08.com/cover.png"
6+
description: ""
7+
date: 2025-05-11T14:22:40+09:00
8+
author: "kyu08"
9+
authorTwitter: "kyu08_"
10+
draft: false
11+
showFullContent: false
12+
readingTime: true
13+
hideComments: false
14+
color: ""
15+
---
16+
17+
<!-- TODO: カッコの中が微妙なのでなおす -->
18+
OSSに依存するプロジェクトでは依存しているライブラリのライセンス表記が必要なことがある。(というかほとんどのライブラリはライセンス表記を求めるように思う)
19+
20+
そのため、依存ライブラリが増えた場合にはライセンス表記を更新する必要があるが、依存ライブラリの依存ライブラリに対しても再帰的にライセンス表記を見に行って自リポジトリの依存ライセンス表記を更新して...というのを行うのは現実的ではない。
21+
22+
他にもうっかりコピーレフトなライブラリに依存してしまうとプロジェクトのライセンスを変更しなければならなかったりと案外気をつける必要があるポイントが多い。
23+
24+
Rustコミュニティにはこれらの労力を削減してくれるツールがいくつか存在していたので紹介する。
25+
26+
## tl;dr
27+
以下のチェックをCIで実行することでcargoプロジェクトの依存関係を継続的に省力で管理することができる。
28+
29+
- [`cargo-machete`](https://github.com/bnjbvr/cargo-machete)で不要な依存関係がないか
30+
- [`cargo-deny`](https://github.com/EmbarkStudios/cargo-deny)で依存ライブラリに許容しないライセンスが含まれていないか
31+
- [`cargo-about`](https://github.com/EmbarkStudios/cargo-about)で依存ライブラリのライセンス表記が最新か

0 commit comments

Comments
 (0)