dependency management for cargo and npm
11
总安装量
0
周安装量
#27798
全站排名
安装命令
npx skills add https://github.com/shunsukehayashi/miyabi-claude-plugins --skill Dependency Management for Cargo and npm
Skill 文档
ð¦ Dependency Management
Version: 2.0.0 Last Updated: 2025-11-22 Priority: âââ (P2 Level) Purpose: Cargo/npmä¾åé¢ä¿ã®è¿½å ã»æ´æ°ã»ç£æ»
ð æ¦è¦
Rust (Cargo) 㨠Node.js (npm) ã®ä¾åé¢ä¿ç®¡çã ãã¼ã¸ã§ã³ç«¶å解決ãã»ãã¥ãªãã£ç£æ»ãæä¾ãã¾ãã
ð¯ P0: å¼ã³åºãããªã¬ã¼
| ããªã¬ã¼ | ä¾ |
|---|---|
| ä¾åæ´æ° | “update dependencies” |
| ãã¼ã¸ã§ã³ç«¶å | “why is there a version conflict?” |
| ä¾å追å | “add a new dependency” |
| å®ææ´æ° | “weekly/monthly dependency updates” |
ð§ P1: ã³ãã³ãä¸è¦§
Cargoï¼Rustï¼
| ã³ãã³ã | ç¨é | é »åº¦ |
|---|---|---|
cargo add <crate> |
ä¾å追å | ä¸ |
cargo update |
å ¨ä¾åæ´æ° | 鱿¬¡ |
cargo update -p <crate> |
ç¹å®æ´æ° | éæ |
cargo tree |
ä¾åããªã¼ | èª¿æ»æ |
cargo audit |
ã»ãã¥ãªãã£ç£æ» | 鱿¬¡ |
cargo-udeps |
æªä½¿ç¨æ¤åº | ææ¬¡ |
npmï¼Node.jsï¼
| ã³ãã³ã | ç¨é | é »åº¦ |
|---|---|---|
npm install <pkg> |
ä¾å追å | ä¸ |
npm update |
å ¨ä¾åæ´æ° | 鱿¬¡ |
npm audit |
ã»ãã¥ãªãã£ç£æ» | 鱿¬¡ |
npm outdated |
å¤ãä¾åç¢ºèª | ææ¬¡ |
ð P2: æ´æ°æ¦ç¥
æ´æ°é »åº¦ã¬ã¤ãã©ã¤ã³
| ãã¼ã¸ã§ã³ | é »åº¦ | ãªã¹ã¯ | ä¾ |
|---|---|---|---|
| Patch (x.x.Y) | 鱿¬¡ | ä½ | 1.0.0 â 1.0.1 |
| Minor (x.Y.0) | ææ¬¡ | ä¸ | 1.0.0 â 1.1.0 |
| Major (Y.0.0) | ååæ | é« | 1.0.0 â 2.0.0 |
Pattern 1: å®å ¨ãªæ´æ°
# Step 1: ç¾ç¶ç¢ºèª
cargo outdated
# Step 2: Patchæ´æ°ï¼å®å
¨ï¼
cargo update
# Step 3: ãã¹ã
cargo test --all
# Step 4: ç£æ»
cargo audit
Pattern 2: ç¹å®ã¯ã¬ã¼ãæ´æ°
# ç¹å®ã¯ã¬ã¼ãã®ã¿
cargo update -p tokio
# ãã¼ã¸ã§ã³æå®ï¼Cargo.tomlï¼
[dependencies]
tokio = "1.35" # 1.35.x ã®ææ°
Pattern 3: ä¾åããªã¼èª¿æ»
# å
¨ä½ããªã¼
cargo tree
# ç¹å®ã¯ã¬ã¼ãã®ä¾åå
cargo tree -i tokio
# éè¤æ¤åº
cargo tree -d
â¡ P3: ãã¼ã¸ã§ã³ç«¶å解決
ç«¶åãã¿ã¼ã³
| ãã¿ã¼ã³ | çç¶ | 解決ç |
|---|---|---|
| è¤æ°ãã¼ã¸ã§ã³ | cargo tree -d ã§æ¤åº |
çµ±ä¸ãã¼ã¸ã§ã³æå® |
| éäºæfeature | ã³ã³ãã¤ã«ã¨ã©ã¼ | featureèª¿æ´ |
| 循ç°ä¾å | ãªã³ã¯ã¨ã©ã¼ | ä¾åæ§é è¦ç´ã |
解決ä¾
# Cargo.toml - ãã¼ã¸ã§ã³çµ±ä¸
[workspace.dependencies]
tokio = { version = "1.35", features = ["full"] }
[dependencies]
tokio = { workspace = true }
# featureç«¶å確èª
cargo tree -f "{p} {f}"
ð Workspaceä¾å管ç
æ¨å¥¨æ§é
# ã«ã¼ã Cargo.toml
[workspace]
members = ["crates/*"]
[workspace.dependencies]
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
# crates/miyabi-core/Cargo.toml
[dependencies]
tokio = { workspace = true }
serde = { workspace = true }
ð¡ï¸ ã»ãã¥ãªãã£ç£æ»
èªåç£æ»è¨å®
# ç£æ»å®è¡
cargo audit
# ä¿®æ£å¯è½ãªèå¼±æ§ãèªåä¿®æ£
cargo audit fix
# CIç¨ï¼å¤±ææã«çµäºï¼
cargo audit --deny warnings
æªä½¿ç¨ä¾åæ¤åº
# ã¤ã³ã¹ãã¼ã«
cargo install cargo-udeps
# å®è¡ï¼nightlyå¿
è¦ï¼
cargo +nightly udeps
â æååºæº
| ãã§ãã¯é ç® | åºæº |
|---|---|
cargo audit |
0 vulnerabilities |
cargo tree -d |
æå°éã®éè¤ |
cargo-udeps |
æªä½¿ç¨ãªã |
| ãã«ã | æå |
| ãã¹ã | å ¨ãã¹ |
ð é¢é£Skills
- Rust Development: ãã«ã確èª
- Security Audit: èå¼±æ§å¯¾å¿
- Git Workflow: æ´æ°ã³ããã