社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

生信技能树 • 7 月前 • 159 次点击  

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

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