从 Github 安装 R packages 不完全指南

前言

  R语言,一个被广泛使用的统计计算和数据分析工具。在日常使用过程中,需要安装实现各种功能、来自各种渠道的工具包(packages)比如:CRNA或者Github。很多包已经发布在 CRAN 上,使用 install.packages("package/name") 就可以直接安装。但有时我们需要从 GitHub 安装,特别是一些最新或尚未发布到 CRAN 的工具。正好最近遇到个小问题,顺手记录一下。😑

从 CRNA 安装

一般的安装方式,比如安装个dplyr:

# The easiest way to get dplyr is to install the whole tidyverse:
install.packages("tidyverse")

# Alternatively, install just dplyr:
install.packages("dplyr")

# Development version
# install.packages("pak")
pak::pak("tidyverse/dplyr")

使用 devtools 从 Github 安装

devtools 提供了从 GitHub 安装 R 包的便捷方式。不仅简化了开发 R 包的流程,还提供了另一种发布和分发 R 包的途径。

安装:

# Install devtools from CRAN
install.packages("devtools")

# Or the development version from GitHub:
# install.packages("pak")
pak::pak("r-lib/devtools")

之后就可以从 Github 安装工具了,比如:再从 Github 安装一下 development versiondevtools:

devtools::install_github("hadley/devtools")

总结一下,该方法需要明确指定开发者的用户名和工具名称,格式为 DeveloperName/PackageName,但是很多时候,我们不容易清楚正确的记住开发者和工具的名字,只是记住了R包的名字,这可能是它在使用上的一个小缺点。官方使用方法的 Cheatsheetdevtools 使用方法,如果访问不了,可以私聊我。

Bad credentials 凭据不正确

最近在使用 devtools::install_github("davidsjoberg/ggsankey")这段代码安装工具的时候遇到个小问题:

Error: Failed to install 'unknown package' from GitHub:
  HTTP error 401.
  Bad credentials

  Rate limit remaining: 1/60
  Rate limit reset at: 2024-......

出现了类似的报错,这种错误通常与 GitHub 的个人访问令牌(Personal Access Token,PAT)有关。解决方法如下:

# 检查是否设置了个人令牌
Sys.getenv("GITHUB_PAT")

# 移除
Sys.unsetenv("GITHUB_PAT")

# 重新安装
devtools::install_github("davidsjoberg/ggsankey")

如果问题仍然存在,考虑以下附加步骤:

生成新 PAT:访问 GitHub Token 设置 以生成新令牌。在 R 中设置新 PAT:Sys.setenv(GITHUB_PAT = 'your_new_pat'),再次安装:remotes::install_github("coolbutuseless/ggpattern", force = TRUE)

这些步骤应该也许大概可以解决……

其他工具

当然,除了 devtools ,不乏其他的同类型工具,比如 remotesgithubinstall 等,githubinstall这个工具,可以根据 R 包名字给使用者提示,一定程度上解决了记不住开发者和工具名字的问题。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 06:24:08       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 06:24:08       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 06:24:08       58 阅读
  4. Python语言-面向对象

    2024-07-12 06:24:08       69 阅读

热门阅读

  1. 【面试题】MySQL(第四篇)

    2024-07-12 06:24:08       26 阅读
  2. C++学习笔记

    2024-07-12 06:24:08       26 阅读
  3. Spring AOP 使用方式

    2024-07-12 06:24:08       28 阅读
  4. filex容错模块(掉电安全)

    2024-07-12 06:24:08       26 阅读
  5. HashMap源码解析

    2024-07-12 06:24:08       29 阅读
  6. 开发一个HTTP模块

    2024-07-12 06:24:08       22 阅读
  7. vscode gitee问题

    2024-07-12 06:24:08       25 阅读