manage-renv-dependencies
Über
Diese Fähigkeit unterstützt Entwickler bei der Verwaltung von R-Paketabhängigkeiten mithilfe von renv für reproduzierbare Umgebungen. Sie behandelt Initialisierung, Snapshot/Wiederherstellung-Workflows, Fehlerbehebung bei häufigen Problemen und CI/CD-Integration. Nutzen Sie sie beim Einrichten neuer R-Projekte, beim Wiederherstellen von Umgebungen auf verschiedenen Rechnern oder bei der Integration von renv in automatisierte Pipelines.
Schnellinstallation
Claude Code
Empfohlennpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-renv-dependenciesKopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren
Dokumentation
name: manage-renv-dependencies description: > renvを使用してRパッケージの依存関係を再現可能な環境で管理する。 初期化、スナップショット/リストアワークフロー、一般的な問題のトラブルシューティング、 CI/CD統合を網羅。新規Rプロジェクトへの依存関係管理の初期化、パッケージの 追加・更新、新しいマシンへの環境復元、リストア失敗のトラブルシューティング、 またはCI/CDパイプラインとのrenv統合時に使用する。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: r-packages complexity: intermediate language: R tags: r, renv, dependencies, reproducibility, lockfile
renv依存関係の管理
renvを使用して再現可能なRパッケージ環境をセットアップして保守する。
使用タイミング
- 新規RプロジェクトへのIの依存関係管理の初期化
- パッケージの依存関係の追加または更新
- 新しいマシンへのプロジェクト環境の復元
- renvのリストア失敗のトラブルシューティング
- CI/CDパイプラインとのrenv統合
入力
- 必須: Rプロジェクトディレクトリ
- 任意: 既存の
renv.lockファイル(リストア用) - 任意: プライベートパッケージ用のGitHub PAT
手順
ステップ1: renvの初期化
renv::init()
これにより以下が作成される:
renv/ディレクトリ(ライブラリ、設定、アクティベーションスクリプト)renv.lock(依存関係のスナップショット).Rprofileがrenvを読み込み時にアクティベートするよう更新される
期待結果: プロジェクトローカルライブラリが作成される。renv/ディレクトリとrenv.lockが存在する。.Rprofileがアクティベーションスクリプトで更新される。
失敗時: ハングする場合はネットワーク接続を確認する。特定のパッケージで失敗する場合は、そのパッケージをinstall.packages()で手動インストールしてからrenv::init()を再実行する。
ステップ2: 依存関係の追加
通常通りパッケージをインストールする:
install.packages("dplyr")
renv::install("github-user/private-pkg")
状態を記録するためにスナップショットを作成する:
renv::snapshot()
期待結果: renv.lockが新しいパッケージとそのバージョンで更新される。renv::status()が同期外れのパッケージがないことを示す。
失敗時: renv::snapshot()がバリデーションエラーを報告する場合はrenv::dependencies()を実行して実際に使用されているパッケージを確認し、次にrenv::snapshot(force = TRUE)でバリデーションをバイパスする。
ステップ3: 別のマシンへの復元
renv::restore()
期待結果: renv.lockの正確なバージョンですべてのパッケージがインストールされる。
失敗時: 一般的な問題:GitHubパッケージの失敗(.RenvironでGITHUB_PATを設定)、システム依存関係の欠如(Linuxでapt-getを使用してインストール)、大きなパッケージのタイムアウト(リストア前にoptions(timeout = 600)を設定)、またはバイナリが利用不可(renvがソースからコンパイル;ビルドツールがインストールされているか確認)。
ステップ4: 依存関係の更新
# 特定のパッケージを更新
renv::update("dplyr")
# すべてのパッケージを更新
renv::update()
# 更新後にスナップショットを作成
renv::snapshot()
期待結果: 対象パッケージが最新の互換バージョンに更新される。renv.lockがスナップショット後に新しいバージョンを反映する。
失敗時: renv::update()が特定のパッケージで失敗する場合はrenv::install("package@version")で直接インストールしてからスナップショットを作成する。
ステップ5: ステータスの確認
renv::status()
期待結果: 「問題なし」または同期外れのパッケージの明確なリストとアクション可能なガイダンス。
失敗時: ステータスが使用されているが記録されていないパッケージを報告する場合はrenv::snapshot()を実行する。記録されているがインストールされていないパッケージがある場合はrenv::restore()を実行する。
ステップ6: 条件付きアクティベーション用の.Rprofile設定
if (file.exists("renv/activate.R")) {
source("renv/activate.R")
}
これによりrenvがインストールされていない場合(CI環境、共同作業者)でもプロジェクトが動作する。
期待結果: プロジェクトディレクトリで開始するとRセッションが自動的にrenvをアクティベートする。renvがインストールされていないセッションもエラーなく起動する。
失敗時: .Rprofileがエラーを引き起こす場合、file.exists()ガードが存在することを確認する。source("renv/activate.R")を条件なしで呼び出してはならない。
ステップ7: Git設定
これらのファイルをトラックする:
renv.lock # 常にコミット
renv/activate.R # 常にコミット
renv/settings.json # 常にコミット
.Rprofile # コミット(renvアクティベーションを含む)
これらは無視する(renvの.gitignoreに既に含まれる):
renv/library/ # マシン固有
renv/staging/ # 一時的
renv/cache/ # マシン固有のキャッシュ
期待結果: renv.lock、renv/activate.R、renv/settings.jsonがGitでトラックされる。マシン固有のディレクトリ(renv/library/、renv/cache/)が無視される。
失敗時: renv/library/が誤ってコミットされた場合はgit rm -r --cached renv/library/で削除し、.gitignoreに追加する。
ステップ8: CI/CD統合
GitHub Actionsではrenvキャッシュアクションを使用する:
- uses: r-lib/actions/setup-renv@v2
これによりrenv.lockからキャッシュを使用して自動的に復元される。
期待結果: CIパイプラインがキャッシュを有効にしてrenv.lockからパッケージを復元する。キャッシュされたパッケージにより後続の実行が高速化される。
失敗時: CIの復元が失敗する場合、renv.lockがコミットされて最新であるか確認する。プライベートGitHubパッケージには、GITHUB_PATがリポジトリシークレットとして設定されているか確認する。
バリデーション
-
renv::status()が問題なしを報告する -
renv.lockがバージョン管理にコミットされている -
renv::restore()がクリーンなチェックアウトで動作する -
.Rprofileが条件付きでrenvをアクティベートする - CI/CDが依存関係解決に
renv.lockを使用する
よくある落とし穴
- 間違ったディレクトリで
renv::init()を実行: 最初にgetwd()を確認する - renvとシステムライブラリの混在:
renv::init()後はプロジェクトライブラリのみを使用する - スナップショットを忘れる: パッケージのインストール後は常に
renv::snapshot()を実行する --vanillaフラグ:Rscript --vanillaは.Rprofileをスキップするため、renvはアクティベートされない- 差分の大きなロックファイル: 正常 —
renv.lockは差分可能なJSONとして設計されている - Bioconductorパッケージ:
renv::install("bioc::PackageName")を使用してBiocManagerが設定されていることを確認する
関連スキル
create-r-package- renv初期化を含むsetup-github-actions-ci- renvとのCI統合submit-to-cran- CRANパッケージの依存関係管理
GitHub Repository
Frequently asked questions
What is the manage-renv-dependencies skill?
manage-renv-dependencies is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform manage-renv-dependencies-related tasks without extra prompting.
How do I install manage-renv-dependencies?
Use the install commands on this page: add manage-renv-dependencies to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does manage-renv-dependencies belong to?
manage-renv-dependencies is in the Other category, tagged general.
Is manage-renv-dependencies free to use?
Yes. manage-renv-dependencies is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Verwandte Skills
LlamaGuard ist Metas 7-8B-Parameter-Modell zur Moderation von LLM-Eingaben und -Ausgaben in sechs Sicherheitskategorien wie Gewalt und Hassrede. Es bietet eine Genauigkeit von 94-95 % und kann mit vLLM, Hugging Face oder Amazon SageMaker eingesetzt werden. Nutzen Sie diese Skill, um Inhaltsfilterung und Sicherheitsguardrails einfach in Ihre KI-Anwendungen zu integrieren.
Diese Claude Skill unterstützt Entwickler bei der Optimierung von Cloud-Kosten durch Ressourcen-Dimensionierung, Tagging-Strategien und Ausgabenanalysen. Sie bietet einen Rahmen zur Senkung von Cloud-Ausgaben und zur Implementierung von Kosten-Governance für AWS, Azure und GCP. Nutzen Sie sie, wenn Sie Infrastrukturkosten analysieren, Ressourcen richtig dimensionieren oder Budgetvorgaben einhalten müssen.
Diese Claude Skill analysiert Sportwettenmärkte inklusive Handicaps, Over/Unders und Spezialwetten, indem sie historische Trends und situative Statistiken untersucht, um Wertwetten zu identifizieren. Sie liefert strukturierte Markdown-Ausgaben mit umsetzbaren Empfehlungen zu Bildungszwecken. Entwickler sollten dies für Sportwetten-Analysetools nutzen, wobei zu beachten ist, dass es nur zur Unterhaltung/Bildung konzipiert wurde.
Diese Fähigkeit quantisiert LLMs auf 8-Bit- oder 4-Bit-Präzision mittels bitsandbytes und erreicht dabei eine Speicherreduzierung von 50–75 % bei minimalem Genauigkeitsverlust. Sie ist ideal für den Betrieb größerer Modelle mit begrenztem GPU-Speicher oder zur Beschleunigung von Inferenzvorgängen und unterstützt Formate wie INT8, NF4 und FP4. Die Fähigkeit integriert sich in HuggingFace Transformers und ermöglicht QLoRA-Training sowie 8-Bit-Optimierer.
