DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

Packrat Notes


下午在 RStudio 中创建 R for Data Science 代码库,由于这本书的在线版和影印版(纸质)章节结构发生了变化,代码库中的练习按影印版本标记,笔记写在纸质书上。 另外创建的 R project 使用 Packrat 作为依赖管理工具,

Packrat 是 R 的一个依赖管理工具, 它把项目依赖包的源代码以压缩包形式保存在版本控制系统中,这样一个 R 项目就可以不依赖系统的 R 包运行了。

创建项目和安装依赖:

library(packrat)
init("~/docs/myproject")  # initialize project scaffold
install.packages('rmarkdown')
install.packages('tidyverse')
status()
snapshot()   # download package source code into packrat/src

使用 install.packages() 安装新的依赖库到 packrat/lib 目录中, 执行 snapshot() 会下载依赖库的源码压缩包到 packrat/src 目录下。 并更新 packrat/packrat.lock 文件。

依赖库版本保存在 packrat/packrat.lock 文件中, 配置信息保存在 packrat/packrat.opts 文件中。

packrat 默认把源码包提交到版本控制系统中,不提交编译后的包, 当在新环境中 clone 出这个代码库并用 RStudio 打开这个 R Project, 会自动在项目私有环境中安装 packrat,在 RStudio 中执行下面的命令重建环境:

library(packrat)
status()  # optional
restore()

其中 restore() 将源码编译为二进制包时,需要系统的 develop 库支持, 如果没有安装这些库就会报错。

如果当前环境中不包含所有被 snapshot 的 package,status() 会报告, 如果新安装的包还没有 snapshot,status() 不会报告。



Published

Jun 13, 2019

Last Updated

Jun 13, 2019

Category

Tech

Tags

  • package 28
  • packrat 2
  • rlang 17

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor