manage-renv-dependencies
À propos
Cette compétence Claude gère les dépendances des packages R en utilisant renv pour créer des environnements reproductibles. Elle prend en charge l'initialisation, les workflows de capture/restauration, le dépannage des problèmes courants et l'intégration CI/CD. Utilisez-la lors de la configuration de nouveaux projets R, de l'ajout/mise à jour de packages, de la restauration d'environnements sur de nouvelles machines, ou de l'intégration de renv avec des pipelines CI/CD.
Installation rapide
Claude Code
Recommandénpx 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-dependenciesCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
name: manage-renv-dependencies locale: de source_locale: en source_commit: 6f65f316 translator: claude translation_date: "2026-03-17" description: > R-Paketabhaengigkeiten mit renv fuer reproduzierbare Umgebungen verwalten. Behandelt Initialisierung, Snapshot/Restore-Workflow, Fehlersuche bei haeufigen Problemen und CI/CD-Integration. Anwenden bei der Initialisierung der Abhaengigkeitsverwaltung fuer ein neues R-Projekt, beim Hinzufuegen oder Aktualisieren von Paketen, beim Wiederherstellen einer Umgebung auf einem neuen Rechner, bei der Fehlersuche bei Wiederherstellungsfehlern oder bei der Integration von renv mit CI/CD-Pipelines. 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-Abhaengigkeiten verwalten
Reproduzierbare R-Paketumgebungen mit renv einrichten und pflegen.
Wann verwenden
- Initialisierung der Abhaengigkeitsverwaltung fuer ein neues R-Projekt
- Hinzufuegen oder Aktualisieren von Paketabhaengigkeiten
- Wiederherstellen einer Projektumgebung auf einem neuen Rechner
- Fehlersuche bei renv-Wiederherstellungsfehlern
- Integration von renv mit CI/CD-Pipelines
Eingaben
- Erforderlich: R-Projektverzeichnis
- Optional: Vorhandene
renv.lock-Datei (fuer Wiederherstellung) - Optional: GitHub PAT fuer private Pakete
Vorgehensweise
Schritt 1: renv initialisieren
renv::init()
Dies erstellt:
renv/-Verzeichnis (Bibliothek, Einstellungen, Aktivierungsskript)renv.lock(Abhaengigkeits-Snapshot)- Aktualisiert
.Rprofileum renv beim Laden zu aktivieren
Erwartet: Projektlokale Bibliothek erstellt. renv/-Verzeichnis und renv.lock vorhanden. .Rprofile mit Aktivierungsskript aktualisiert.
Bei Fehler: Wenn es haengt, die Netzwerkverbindung pruefen. Wenn es bei einem bestimmten Paket fehlschlaegt, dieses Paket zuerst manuell mit install.packages() installieren und dann renv::init() erneut ausfuehren.
Schritt 2: Abhaengigkeiten hinzufuegen
Pakete wie gewohnt installieren:
install.packages("dplyr")
renv::install("github-user/private-pkg")
Dann einen Snapshot erstellen um den Zustand festzuhalten:
renv::snapshot()
Erwartet: renv.lock mit neuen Paketen und deren Versionen aktualisiert. renv::status() zeigt keine nicht-synchronisierten Pakete.
Bei Fehler: Wenn renv::snapshot() Validierungsfehler meldet, renv::dependencies() ausfuehren um zu pruefen welche Pakete tatsaechlich verwendet werden, dann renv::snapshot(force = TRUE) um die Validierung zu umgehen.
Schritt 3: Auf einem anderen Rechner wiederherstellen
renv::restore()
Erwartet: Alle Pakete in den exakten Versionen aus renv.lock installiert.
Bei Fehler: Haeufige Probleme: GitHub-Pakete schlagen fehl (GITHUB_PAT in .Renviron setzen), Systemabhaengigkeiten fehlen (unter Linux mit apt-get installieren), Timeouts bei grossen Paketen (options(timeout = 600) vor der Wiederherstellung setzen) oder Binaerpakete nicht verfuegbar (renv kompiliert aus Quellcode; sicherstellen dass Build-Werkzeuge installiert sind).
Schritt 4: Abhaengigkeiten aktualisieren
# Ein bestimmtes Paket aktualisieren
renv::update("dplyr")
# Alle Pakete aktualisieren
renv::update()
# Snapshot nach Aktualisierungen
renv::snapshot()
Erwartet: Zielpakete auf ihre neuesten kompatiblen Versionen aktualisiert. renv.lock spiegelt nach dem Snapshot die neuen Versionen wider.
Bei Fehler: Wenn renv::update() fuer ein bestimmtes Paket fehlschlaegt, es direkt mit renv::install("package@version") installieren und dann einen Snapshot erstellen.
Schritt 5: Status pruefen
renv::status()
Erwartet: "No issues found" oder eine klare Liste nicht-synchronisierter Pakete mit umsetzbaren Hinweisen.
Bei Fehler: Wenn der Status Pakete meldet die verwendet aber nicht erfasst sind, renv::snapshot() ausfuehren. Wenn Pakete erfasst aber nicht installiert sind, renv::restore() ausfuehren.
Schritt 6: .Rprofile fuer bedingte Aktivierung konfigurieren
if (file.exists("renv/activate.R")) {
source("renv/activate.R")
}
Dies stellt sicher dass das Projekt auch funktioniert wenn renv nicht installiert ist (CI-Umgebungen, Mitarbeiter).
Erwartet: R-Sitzungen aktivieren renv automatisch beim Start im Projektverzeichnis. Sitzungen ohne installiertes renv starten weiterhin fehlerfrei.
Bei Fehler: Wenn .Rprofile Fehler verursacht, sicherstellen dass die file.exists()-Pruefung vorhanden ist. Nie source("renv/activate.R") bedingungslos aufrufen.
Schritt 7: Git-Konfiguration
Diese Dateien versionieren:
renv.lock # Immer committen
renv/activate.R # Immer committen
renv/settings.json # Immer committen
.Rprofile # Committen (enthaelt renv-Aktivierung)
Diese ignorieren (bereits in renvs .gitignore):
renv/library/ # Maschinenspezifisch
renv/staging/ # Temporaer
renv/cache/ # Maschinenspezifischer Cache
Erwartet: renv.lock, renv/activate.R und renv/settings.json werden von Git versioniert. Maschinenspezifische Verzeichnisse (renv/library/, renv/cache/) werden ignoriert.
Bei Fehler: Wenn renv/library/ versehentlich committet wurde, mit git rm -r --cached renv/library/ entfernen und zu .gitignore hinzufuegen.
Schritt 8: CI/CD-Integration
In GitHub Actions die renv-Cache-Action verwenden:
- uses: r-lib/actions/setup-renv@v2
Dies stellt automatisch aus renv.lock mit Caching wieder her.
Erwartet: CI-Pipeline stellt Pakete aus renv.lock mit aktiviertem Caching wieder her. Nachfolgende Durchlaeufe sind durch gecachte Pakete schneller.
Bei Fehler: Wenn die CI-Wiederherstellung fehlschlaegt, pruefen dass renv.lock committet und aktuell ist. Fuer private GitHub-Pakete sicherstellen dass GITHUB_PAT als Repository-Secret gesetzt ist.
Validierung
-
renv::status()meldet keine Probleme -
renv.lockist in die Versionskontrolle committet -
renv::restore()funktioniert bei einem sauberen Checkout -
.Rprofileaktiviert renv bedingt - CI/CD verwendet
renv.lockfuer die Abhaengigkeitsaufloesung
Haeufige Stolperfallen
renv::init()im falschen Verzeichnis ausfuehren: Immer zuerstgetwd()verifizieren- renv und Systembibliothek mischen: Nach
renv::init()nur die Projektbibliothek verwenden - Snapshot vergessen: Nach der Installation von Paketen immer
renv::snapshot()ausfuehren --vanilla-Flag:Rscript --vanillaueberspringt.Rprofile, sodass renv nicht aktiviert wird- Grosse Lock-Dateien in Diffs: Normal --
renv.lockist als diffbares JSON konzipiert - Bioconductor-Pakete:
renv::install("bioc::PackageName")verwenden und sicherstellen dass BiocManager konfiguriert ist
Verwandte Skills
create-r-package-- beinhaltet renv-Initialisierungsetup-github-actions-ci-- CI-Integration mit renvsubmit-to-cran-- Abhaengigkeitsverwaltung fuer CRAN-Pakete
Dépôt GitHub
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 api and automation.
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.
Compétences associées
LlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.
Cette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.
Cette compétence Claude analyse les marchés des paris sportifs, incluant les spreads, les over/under et les paris spéciaux, en examinant les tendances historiques et les statistiques situationnelles pour identifier les paris à valeur ajoutée. Elle fournit une sortie en markdown structuré avec des recommandations actionnables à des fins éducatives. Les développeurs doivent l'utiliser pour des outils d'analyse de paris sportifs tout en notant qu'elle est conçue uniquement pour le divertissement et l'éducation.
Cette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.
