目录
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 的search
或findit
命令,但仅用于搜索 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 存储库必须具有toc和pkg文件才能安装。您可以使用check
子命令检查软件包是否可安装。
github check haghish/markdoc
这是需要注意的一个相当重要的点,因为
github search
用于在 GitHub 上搜索 Stata 包的命令往往会忽略不可安装的 Stata 存储库。换句话说,如果您的存储库不包含这些文件,它将不会被视为 Stata 包,除非您all
在搜索中指定选项(在搜索 GUI 中选中显示不可安装的 GitHub 存储库选项)。但是,该github
包还包含一个用于构建这些文件的 GUI。使用随附的 GUIgithub
,您可以轻松地为您的存储库构建这些文件(见下文)。
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
命令允许您安装带有或不带有特定版本的软件包依赖项。操作如下:
- 创建一个名为的文件
dependency.do
并将其包含在存储库中 - 此文件不打算安装在 PLUS 目录中,因此,当您构建包时,它不应该在 pkg 文件中提及(见下文)
- 在此 do 文件中包括安装软件包依赖项的代码。如果软件包托管在 GitHub 上,请使用
github
安装软件包依赖项的命令,甚至指定所需的版本。 github
命令在安装包后进行查找dependency.do
,如果在存储库中找到它,它就会执行它。
例如,MarkDoc 包中有一个dependency.do
文件可以作为如何创建依赖文件的示例。当然,该dependenc.do
文件只能通过github install
命令执行。
5. 自动构建包安装文件
假设您已经创建了一个 ado 文件和 Stata 帮助文件。如何使您的存储库可安装?您需要手动创建stata.toc和packagename.pkg文件,指定所需信息、应安装的文件等。`github package introduces the
make` GUI 使用严格的布局为您生成包安装。您只需选择要安装的文件,指定所需信息,并准备好toc和pkg文件即可。然后,只要将这些文件复制到存储库,它就可以安装了!
将工作目录更改为存储库路径,然后运行 GUI,输入:
db make
写下所需的信息并选择要安装的文件。按 OK,然后尽情享受吧!
gitget
6.命令识别的 Stata 软件包列表
数据gitget
集随软件包一起下载github
。此数据集每月更新一次。单击此处查看gitget
软件包的完整列表。
作者
EF Haghish
医学生物统计和医学信息学中心
德国弗莱堡大学
@Haghish