Py学习  »  Git

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

生信技能树 • 1 周前 • 21 次点击  

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

下面的报错写的明明白白: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

    • 提供关于包的基本信息,如目的、安装说明和主要功能。
  • LICENSELICENCE.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)来管理包的版本。
  • 代码风格

    • 遵循一致的代码风格,如使用stylerlintr来格式化代码。
  • 函数文档

    • 为每个函数提供详细的文档,使用roxygen2自动生成文档。
  • 依赖管理

    • 明确列出包的依赖关系,并在DESCRIPTION文件中指定。
  • 测试

    • 编写单元测试,确保代码的可靠性和稳定性,可以使用testthat包。
  • 示例代码

    • 提供示例代码,帮助用户理解如何使用你的包。
  • 许可证

    • 为你的包选择一个合适的开源许可证,并在LICENSE文件中声明。
  • README文件

    • 提供一个README.md文件,介绍包的目的、安装方法、主要功能和使用示例。

    遵循这些最佳实践不仅可以提高你的R包质量,还可以增加其他开发者和用户对你的包的信任。


    Python社区是高质量的Python/Django开发社区
    本文地址:http://www.python88.com/topic/175609
     
    21 次点击