未分类 · 2024年9月27日

用于从 GitHub 构建、搜索、安装和管理 Stata 包的模块

目录

  1. 介绍
  2. 安装
  3. 句法
  4. 子命令
    1. 安装包
    2. 搜索 Stata 包
    3. 管理已安装的软件包
    4. 检查 Stata 存储库
    5. 卸载包
    6. 软件包版本
      1. 安装特定版本
      2. 列出所有先前的版本
      3. 获取已安装包的版本
    7. 软件包依赖项
  5. 自动构建包安装文件
  6. gitget命令识别的 Stata 软件包列表

1. 简介

近年来,Stata 用户越来越多地使用 GitHub 来共享 Stata 代码和数据集、开发统计软件和托管 Stata 包,如下图所示。这对 Stata 社区和任何促进研究透明度的人来说都是一个好消息!该github模块方便搜索、安装、管理甚至构建 Stata 包。此外,它还允许安装开发版本或稳定版本的包。它还允许指定将自动安装的包依赖项,这使得 GitHub 对 Stata 用户和开发人员更具吸引力。在这里,我快速向您展示如何安装和使用该github包。

2. 安装github模块

github您可以通过执行以下代码来安装最新版本的命令:

net install github, from("https://haghish.github.io/github/")

3.语法

该包的一般语法可以概括为:

github [subcommand] [...]

其中 [子命令] 可以是:

子命令描述
search在 GitHub 上查找 Stata 包
install从 GitHub 安装包
list提供有关随github安装的软件包的信息
query列出软件包的所有先前版本
check测试存储库是否可安装
uninstall从 Stata 中删除一个包
update从 GitHub 更新包
version返回已安装包的版本

并且 [  ] 可以根据指定的子命令来是用户名/存储库还是包名称。

4.子命令

4.1 安装包

要安装包,您只需要 GitHub 用户名和存储库名称。用户名和存储库名称的组合(以斜线分隔)提供了存储库所需的 URL。例如,要安装托管在https://github.com/haghish/markdoc上的MarkDoc包,只需输入:

github install haghish/markdoc [, stable version("")]

github软件包包含一个数据库,其中包含托管在 GitHub 上的 Stata 软件包的完整列表。因此,您也可以仅通过指定软件包名称来安装软件包。该gitget命令(是的包装器github install)只需询问软件包名称即可从 GitHub 安装或更新 Stata 软件包:

gitget packagename [, stable version("")]

例如,如果您希望安装markdoc包,键入gitget markdoc和键入github install haghish/markdoc一样好用。如果您希望检查托管在 GitHub 上的 Stata 包列表,请参阅gitget.dta数据集。

选项描述
stable安装软件包的最新稳定发行版本
version(str)安装指定的发布版本

4.2 搜索 Stata 包

您可以使用一个或多个关键字在 GitHub 上搜索 Stata 包。这类似于 Stata 的searchfindit命令,但仅用于搜索 GitHub 包:

github search weaver

有效地搜索 GitHub API 非常重要。为此,该软件包包含一个搜索 GUI,其中显示了可用于缩小搜索范围或扩展搜索范围以包含其他来源的语法。搜索命令还会分析命令上托管的软件包的发布日期net,这是一个非常有用的功能。要启动 GUI,请键入:

db github

例如,如果您使用该github search命令搜索markdoc包,您将得到以下输出:

4.3 管理已安装的软件包

github有一个内置数据库,可以跟踪计算机上安装的软件包,当然,还会告诉您计算机上安装的软件包的版本。版本取自开发人员指定的软件包的唯一发布标签。您可以查看list已安装的软件包并获取有关它们的有用信息。此命令还会通知您是否有任何 GitHub 软件包的可用更新。例如,在下面的输出中,我们知道我们的两个软件包都有可用的更新。我们还可以单击链接(update)将软件包更新到最新版本。

. github list

4.4 检查 Stata 存储库

并非所有软件包都可安装。Stata 存储库必须具有tocpkg文件才能安装。您可以使用check子命令检查软件包是否可安装。

github check haghish/markdoc

这是需要注意的一个相当重要的点,因为github search用于在 GitHub 上搜索 Stata 包的命令往往会忽略不可安装的 Stata 存储库。换句话说,如果您的存储库不包含这些文件,它将不会被视为 Stata 包,除非您all在搜索中指定选项(在搜索 GUI 中选中显示不可安装的 GitHub 存储库选项)。但是,该github包还包含一个用于构建这些文件的 GUI。使用随附的 GUI github,您可以轻松地为您的存储库构建这些文件(见下文)。

4.5 卸载软件包

要安装软件包,请使用uninstall子命令,后跟软件包名称。例如:

github uninstall markdoc

4.6 软件包版本

4.6.1 安装特定版本

GitHub 允许存档无限数量的软件包版本。该github命令有一个指定软件包版本的选项,允许安装以前的软件包版本。例如,要安装旧版本的 MarkDoc 软件包,例如3.8.0。您可以输入:

github install haghish/markdoc , version("3.8.0")

4.6.2 列出所有先前版本

但是您在哪里可以看到软件包版本? GitHub 有一个release 选项卡,其中列出了该软件的所有先前版本(例如,请参阅 MarkDoc 的先前版本)。但好消息是,它github有一个子命令,用于在 Stata 结果窗口中列出所有先前版本,并允许您通过单击鼠标或以编程方式安装其中任何一个版本(以及该特定版本的软件包依赖项,如果指定)。为此,请键入:

github query username/repository

例如,要列出MarkDoc的先前版本,请输入:

. github query haghish/markdoc

 ----------------------------------------
  Version      Release Date      Install
 ----------------------------------------
  3.8.5        2016-10-16        Install
  3.8.4        2016-10-13        Install
  3.8.3        2016-10-03        Install
  3.8.2        2016-10-01        Install
  3.8.1        2016-09-29        Install
  3.8.0        2016-09-24        Install
  3.7.9        2016-09-20        Install
  3.7.8        2016-09-19        Install
  3.7.7        2016-09-18        Install
  3.7.6        2016-09-13        Install
  3.7.5        2016-09-08        Install
  3.7.4        2016-09-07        Install
  3.7.3        2016-09-06        Install
  3.7.2        2016-09-05        Install
  3.7.0        2016-08-23        Install
  3.6.9        2016-08-16        Install
  3.6.7        2016-02-27        Install
 ----------------------------------------

4.6.3 获取已安装包的版本

使用动态文档软件(例如MarkDoc )编写分析时,您应该报告分析中使用的软件包的版本。您可以使用子命令以编程方式获取已安装软件包的版本version,后跟:

. github version markdoc
3.8.0

此命令没有任何其他用途,因为该github list命令已经显示了已安装软件包的版本,并且还检查了是否有可用的更新版本……

4.7 软件包依赖关系

某些软件包依赖于其他软件包。该github命令允许您安装带有或不带有特定版本的软件包依赖项。操作如下:

  1. 创建一个名为的文件dependency.do并将其包含在存储库中
  2. 此文件不打算安装在 PLUS 目录中,因此,当您构建包时,它不应该在 pkg 文件中提及(见下文)
  3. 在此 do 文件中包括安装软件包依赖项的代码。如果软件包托管在 GitHub 上,请使用github安装软件包依赖项的命令,甚至指定所需的版本。
  4. github命令在安装包后进行查找dependency.do,如果在存储库中找到它,它就会执行它。

例如,MarkDoc 包中有一个dependency.do文件可以作为如何创建依赖文件的示例。当然,该dependenc.do文件只能通过github install命令执行。

5. 自动构建包安装文件

假设您已经创建了一个 ado 文件和 Stata 帮助文件。如何使您的存储库可安装?您需要手动创建stata.tocpackagename.pkg文件,指定所需信息、应安装的文件等。`github package introduces the make` GUI 使用严格的布局为您生成包安装。您只需选择要安装的文件,指定所需信息,并准备好tocpkg文件即可。然后,只要将这些文件复制到存储库,它就可以安装了!

将工作目录更改为存储库路径,然后运行 ​​GUI,输入:

db make

写下所需的信息并选择要安装的文件。按 OK,然后尽情享受吧!

gitget6.命令识别的 Stata 软件包列表

数据gitget集随软件包一起下载github。此数据集每月更新一次。单击此处查看gitget软件包的完整列表。

作者

EF Haghish
医学生物统计和医学信息学中心
德国弗莱堡大学
@Haghish