MCP HubMCP Hub
스킬 목록으로 돌아가기

manage-renv-dependencies

pjt222
업데이트됨 2 days ago
3 조회
17
2
17
GitHub에서 보기
기타aiapiautomation

정보

이 스킬은 renv를 사용하여 재현 가능한 환경을 생성함으로써 R 패키지 의존성을 관리합니다. 초기화, 스냅샷/복원 워크플로우, 문제 해결, CI/CD 통합을 처리합니다. R 프로젝트의 의존성 관리를 설정하거나 여러 시스템 간에 환경을 복원할 때 사용하세요.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-renv-dependencies

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

管 renv 依賴

以 renv 設並維可重現之 R 套件環境。

適用時機

  • 為新 R 項目初始化依賴管理
  • 加或更新套件依賴
  • 於新機重現項目環境
  • 排查 renv restore 敗
  • 整合 renv 於 CI/CD 管線

輸入

  • 必要:R 項目目錄
  • 選擇性:既有 renv.lock 文件(供復)
  • 選擇性:供私套件之 GitHub PAT

步驟

步驟一:初始化 renv

renv::init()

此創:

  • renv/ 目錄(庫、設置、激活腳本)
  • renv.lock(依賴快照)
  • .Rprofile 以於載入時激活 renv

預期: 項目本地庫已創。renv/ 目錄與 renv.lock 存。.Rprofile 已更附激活腳本。

失敗時: 若掛,查網連。若於特定套件敗,先手動以 install.packages() 裝該套件,再重行 renv::init()

步驟二:加依賴

如常裝套件:

install.packages("dplyr")
renv::install("github-user/private-pkg")

再快照以記態:

renv::snapshot()

預期: renv.lock 已更附新套件與其版本。renv::status() 示無不同步套件。

失敗時:renv::snapshot() 報驗證誤,行 renv::dependencies() 查何套件實被用,再以 renv::snapshot(force = TRUE) 繞驗證。

步驟三:於他機重現

renv::restore()

預期: 所有套件按 renv.lock 中確切版本裝。

失敗時: 常問題:GitHub 套件敗(設 .RenvironGITHUB_PAT)、缺系統依賴(Linux 以 apt-get 裝)、大套件超時(復前設 options(timeout = 600))、二進制不可得(renv 自源編;確建工具已裝)。

步驟四:更依賴

# Update a specific package
renv::update("dplyr")

# Update all packages
renv::update()

# Snapshot after updates
renv::snapshot()

預期: 目標套件已更至其最新兼容版本。快照後 renv.lock 反映新版本。

失敗時:renv::update() 於特定套件敗,試以 renv::install("package@version") 直裝再快照。

步驟五:查態

renv::status()

預期: 「無問題」或不同步套件之明清單附可行指引。

失敗時: 若態報套件已用而未記,行 renv::snapshot()。若已記而未裝,行 renv::restore()

步驟六:配 .Rprofile 以條件激活

if (file.exists("renv/activate.R")) {
  source("renv/activate.R")
}

此確即 renv 未裝(CI 環境、協作者)項目仍可作。

預期: R 會話於項目目錄啟時自動激活 renv。無 renv 裝之會話仍無誤啟。

失敗時:.Rprofile 致誤,確 file.exists() 守存。絕勿無條件 source("renv/activate.R")

步驟七:Git 配置

追此文件:

renv.lock           # Always commit
renv/activate.R     # Always commit
renv/settings.json  # Always commit
.Rprofile           # Commit (contains renv activation)

忽此(已於 renv 之 .gitignore 中):

renv/library/       # Machine-specific
renv/staging/       # Temporary
renv/cache/         # Machine-specific cache

預期: renv.lockrenv/activate.Rrenv/settings.json 為 Git 所追。機特目錄(renv/library/renv/cache/)已忽。

失敗時:renv/library/ 意外提,以 git rm -r --cached renv/library/ 除之並加於 .gitignore

步驟八: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()
  • --vanillaRscript --vanilla.Rprofile,則 renv 不激活
  • 大鎖文件於 diff 中:正常——renv.lock 設計為可差之 JSON
  • Bioconductor 套件:用 renv::install("bioc::PackageName") 並確 BiocManager 已配

相關技能

  • create-r-package - 含 renv 初始化
  • setup-github-actions-ci - 與 renv 之 CI 整合
  • submit-to-cran - 為 CRAN 套件之依賴管理

GitHub 저장소

pjt222/agent-almanac
경로: i18n/wenyan-lite/skills/manage-renv-dependencies
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

llamaguard

기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기

cost-optimization

기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기

quantizing-models-bitsandbytes

기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기

dispatching-parallel-agents

기타

이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.

스킬 보기