Skip to content

Commit 0ca9fa5

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

File tree

1 file changed

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

1 file changed

+30
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
OSSに依存するプロジェクトでは依存しているライブラリのライセンスによってはライセンス表記なことがある。(というかほとんどのライブラリはライセンス表記を求めることが多いように思う)
18+
19+
そのため、依存ライブラリが増えた場合にはライセンス表記を更新する必要があるが、依存ライブラリの依存ライブラリに対しても再帰的にライセンス表記を見に行って自リポジトリの依存ライセンス表記を更新して...というのを行うのは現実的ではない。
20+
21+
他にもうっかりコピーレフトなライブラリに依存してしまうとプロジェクトのライセンスを変更しなければならなかったりと案外気をつける必要があるポイントが多い。
22+
23+
Rustコミュニティにはこれらの労力を削減してくれるツールが存在していたので紹介する。
24+
25+
## tl;dr
26+
以下のチェックをCIで実行することでcargoプロジェクトの依存関係を継続的に省力で管理することができる。
27+
28+
- [`cargo-machete`](https://github.com/bnjbvr/cargo-machete)で不要な依存関係がないか
29+
- [`cargo-deny`](https://github.com/EmbarkStudios/cargo-deny)で依存ライブラリに許容しないライセンスが含まれていないか
30+
- [`cargo-about`](https://github.com/EmbarkStudios/cargo-about)で依存ライブラリのライセンス表記が最新か

0 commit comments

Comments
 (0)