专栏名称: 生信技能树
生物信息学学习资料分析,常见数据格式及公共数据库资料分享。常见分析软件及流程,基因检测及癌症相关动态。
目录
相关文章推荐
ZaomeDesign  ·  每日灵感丨二月七日 ·  2 天前  
字体设计  ·  Ai绘画正在占领视觉,火爆全球的Deepse ... ·  3 天前  
字体设计  ·  好看的字体要配上好的文字编排 ·  3 天前  
51好读  ›  专栏  ›  生信技能树

安装不上github的包不一定是网络问题

生信技能树  · 公众号  ·  · 2024-11-03 08:14

正文

也有可能是因为它压根就不是一个包!

下面的报错写的明明白白:Can't find R package

> pak::pkg_install('cxli233/ggpathway')
! Using bundled GitHub PAT. Please add your own PAT using `gitcreds::gitcreds_set()`.
Error:                                                         
! error in pak subprocess
Caused by error: 
! Could not solve package dependencies:
* cxli233/ggpathway: ! pkgdepends resolution error for cxli233/ggpathway.
Caused by error: 
! Can't find R package in GitHub repo cxli233/ggpathway
Type .Last.error to see the more details.

如果大家认真看官网:https://github.com/cxli233/ggpathway

其实也写的明明白白,这是一个教程类型的笔记,并不是一个R包,既然并不是R包,怎么可能期待它能被安装呢?

这是一个教程类型的笔记

在GitHub上发布R包时,需要遵循一定的结构和包含特定的文件。以下是一些必须的文件夹和文件,以及它们的功能:

  1. **R/**:

  • 这个文件夹包含R源代码文件,通常是 .R .S 文件,包含函数的定义。
  • **man/**:

    • 包含函数的文档(R的帮助文件),通常是 .Rd 文件,描述函数的使用方法和参数。
  • **data/**:

    • 如果包中包含数据集,它们应该放在这个文件夹中。
  • **inst/**:

    • 包含安装时需要复制到包的安装目录的额外文件,如示例代码、数据文件等。
  • **src/**:

    • 如果包包含C、C++或Fortran代码,它们应该放在这个文件夹中。
  • **tests/**:

    • 包含测试脚本,用于检查包的功能是否正常。
  • **vignettes/**:

    • 如果包提供教程或额外的用户指南,它们应该放在这个文件夹中。
  • DESCRIPTION

    • 描述包的元数据,包括包名、版本、作者、许可证、依赖关系等。
  • NAMESPACE

    • 定义包中导出的函数和变量。
  • README.md

    • 提供关于包的基本信息,如目的、安装说明和主要功能。
  • LICENSE LICENCE.txt

    • 指定包使用的许可证。
  • .gitignore

    • 指定Git版本控制中忽略的文件和文件夹。
  • .travis.yml 或其他CI配置文件:

    • 配置持续集成服务,如Travis CI。
  • codecov.yml

    • 配置代码覆盖率跟踪。
  • cran-comments.md

    • 如果提交到CRAN,这个文件包含CRAN检查员的评论和作者的回复。
  • **pkgdown/**:

    • 如果使用 pkgdown 包来创建包的网站,这个文件夹包含网站生成的配置和资源。
  • **roxygen2/**:

    • 如果使用 roxygen2 来生成文档,这个文件夹包含注释块。

    这些文件和文件夹构成了R包的基本结构,确保包的功能性和可维护性。在发布之前,可以使用 R CMD check 命令来检查包的完整性和一致性。

    在GitHub上发布R包,虽然没有严格的规则,但遵循一些最佳实践和社区约定可以使你的包更加规范、易于使用和维护。 以下是一些建议和最佳实践:

    1. 命名约定

    • 包名应该简洁、描述性强,并且避免与现有的R包冲突。
  • 描述文件

    • 提供一个 DESCRIPTION 文件,其中包含包的名称、版本、作者、许可证、依赖关系等信息。
  • 版本控制

    • 使用语义化版本控制(Semantic Versioning)来管理包的版本。
  • 代码风格

    • 遵循一致的代码风格,如使用 styler lintr 来格式化代码。






    请到「今天看啥」查看全文