16个版本 (10个稳定版)

1.6.3 2024年5月1日
1.3.0 2023年11月1日
1.1.0 2022年9月28日
1.0.5 2022年5月25日
0.3.0 2017年2月22日

34游戏

Download history 13/week @ 2024-04-24 134/week @ 2024-05-01 24/week @ 2024-05-08 23/week @ 2024-05-15 30/week @ 2024-05-22 28/week @ 2024-05-29 30/week @ 2024-06-05 27/week @ 2024-06-12 19/week @ 2024-06-19 20/week @ 2024-06-26 22/week @ 2024-07-03 32/week @ 2024-07-10 36/week @ 2024-07-17 183/week @ 2024-07-24 22/week @ 2024-07-31 18/week @ 2024-08-07

每月265次下载
用于 irc-bot

MIT 许可证

145KB
3K SLoC

Foreman

Actions Status Latest Release on crates.io

Foreman是一个工具链管理器,帮助Roblox开发者管理他们的工具安装,如RojoRemodelTarmacDarkLuaStyLuaSelene

Foreman灵感来自rustupasdf

它在数百名工程师的生产环境中使用,但欢迎更多反馈!

安装

GitHub发行版

您可以从发行版页面下载预构建的Windows、macOS和Linux版本的Foreman。

GitHub Actions

您可以使用官方的setup-foreman操作来将Foreman作为GitHub Actions工作流程的一部分进行安装。

升级

首先,将当前的Foreman版本替换为GitHub发行版中的最新版本。如果您不记得可执行文件放在哪里,可以在Windows上运行where foreman或在macOS和Linux上运行which foreman来帮助您找到它。

另一个步骤是定位由 foreman 创建的 bin 目录并删除那里的文件。这就像打开位于用户目录下的 .foreman/bin(在 Windows 上为 %homepath%,在 macOS 和 Linux 上为 $HOME)的路径。

从源代码

如果您已安装 Rust 1.53.0 或更高版本,您也可以通过 crates.io 安装它来编译 Foreman。

cargo install foreman

要升级,请重新运行 cargo install foreman 并按照上面章节所述清理 bin 目录。

设置

大多数用户可能需要做一些额外的设置才能开始通过 foreman 使用工具。

路径配置

首次运行时(尝试 foreman list),Foreman 将在您的用户文件夹中创建一个 .foreman 目录(通常在 Unix 系统上为 $HOME/.foreman,在 Windows 上为 %USERPROFILE%/.foreman)。

建议您将 $HOME/.foreman/bin 添加到您的 PATH 中,以便在您的系统中访问 Foreman 为您安装的工具。如果您通过其他机制安装了工具(例如,您可能已经通过 cargo 直接安装了 rojo),请确保 $HOME/.foreman/bin 在其他安装目录之前(例如,在 .cargo/bin 之前)位于您的 PATH 中,以确保它具有优先级。

如果您使用 bash 或 zsh,您可以将此行添加到您的 ~/.bash_profile 或您的 ~/.zprofile 文件中(分别)

export PATH=$HOME/.foreman/bin:$PATH

身份验证

要从私有 GitHub 存储库安装工具,Foreman 支持使用 个人访问令牌 进行身份验证。当在 GitHub 中创建令牌时

  1. 确保配置令牌以具有对 repo 范围的访问权限
  2. 创建后,您可能需要点击令牌旁边的 配置 SSO 按钮,以授权其用于 SSO。您是否需要这样做将取决于您需要访问的 GitHub 组织。

使用 foreman github-auth 将身份验证令牌传递给 Foreman,或打开 ~/.foreman/auth.toml 并按照其中包含的说明操作。

类似地,对于托管在 GitLab 存储库上的项目,使用 foreman gitlab-auth 将身份验证令牌传递给 Foreman,或打开 ~/.foreman/auth.toml

使用方法

Foreman 从 GitHub 或 GitLab 下载工具,并通过它们的 user/repo 名称引用它们,例如 Roblox/foreman

配置文件

Foreman 使用 TOML 作为其配置文件格式。它仅需要单个 tools 条目以及所需工具的枚举,其格式如下

[tools]
rojo = { github = "rojo-rbx/rojo", version = "7.0.0" }
darklua = { gitlab = "seaofvoices/darklua", version = "0.7.0" }

如您已注意到,工具名称位于 = 的左侧,右侧包含下载所需的信息。对于 GitHub 工具,使用 github = "用户/仓库名",对于 GitLab,使用 gitlab = "用户/仓库名"

以前,Foreman 只能从 GitHub 下载工具,格式为 source = "rojo-rbx/rojo"。为了向后兼容,Foreman 仍然支持此格式。

主机(建设中)

foreman 默认支持 Github 和 Gitlab 作为主机,但您也可以使用单个 hosts 条目以及您想要下载工具的主机枚举来自定义主机,其格式如下。

[hosts]
# default hosts
# source = {source = "https://github.com", protocol = "github"}
# github = {source = "https://github.com", protocol = "github"}
# gitlab = {source = "https://gitlab.com", protocol = "gitlab"}
artifactory = {source = "https://artifactory.com", protocol = "artifactory"}

[tools]
tool = {artifactory = "tools/tool", version = "1.1.0"}

foreman 目前仅支持 github、gitlab 和 artifactory 作为协议。

系统工具

要开始使用 Foreman 管理系统默认工具,请创建文件 ~/.foreman/foreman.toml

一个列出 Rojo 的 Foreman 配置可能如下所示

[tools]
rojo = { github = "rojo-rbx/rojo", version = "7.0.0" }

在任何目录中运行 foreman install,让 Foreman 检查并安装系统 Foreman 配置中列出的工具。

现在,如果在没有指定 Rojo 版本的目录中运行 rojo,Foreman 将为您运行最新的 0.5.x 版本!

项目工具

使用 Foreman 管理项目工具与管理系统工具类似。只需在您的项目根目录中创建一个 foreman.toml 文件。

一个列出 Remodel 的 Foreman 配置可能如下所示

[tools]
remodel = { github = "rojo-rbx/remodel", version = "0.9.1" }

运行 foreman install,让 Foreman 安装此配置文件中列出的任何新二进制文件。

在此目录内,remodel 命令将运行您系统上安装的最新 0.6.x 版本的 Remodel。

故障排除

Foreman 是一个正在开发中的工具,存在一些已知问题。请查看 问题跟踪器 以获取已知错误。

如果您的配置有问题,您可以删除 ~/.foreman 来删除所有缓存数据并从头开始。此目录包含 Foreman 安装的所有工具和配置。

Bad CPU type 错误

如果您在非 M1 Mac 上使用 foreman 版本 1.0.4 或更早版本,您可能会遇到类似以下错误

an error happened trying to run `github.com/some-org/some-tool@^1.2.3` at `/Users/some-user/.foreman/tools/some-org__some-tool-1.2.3` (this is an error in Foreman): Bad CPU type in executable (os error 86)

在这种情况下,由于 二进制文件选择逻辑中的错误,您的 foreman 安装错误地下载了工具二进制的兼容版本。

is not compatible with the version of Windows you're running 错误

如果您使用 foreman 版本 1.1.0 或更早版本,当现有项目为 aarch64 平台(例如 Windows Holographic OS 用于 HoloLens)添加 Windows 二进制文件时,您可能会遇到类似以下错误

在这种情况下,由于 二进制文件选择逻辑中的另一个错误,您的 foreman 安装错误地下载了工具二进制的兼容版本。

要修复这两种错误类型,请采取以下步骤

  1. 根据 上面的说明 升级您的 foreman 版本。
  2. 删除文件 ~/.foreman/tool-cache.json 和文件夹 ~/.foreman/tools/(及其内容),以及文件夹 ~/.foreman/bin(如上所述的 升级 部分)。这应该会移除foreman缓存的任何无效的二进制文件。
  3. 运行 foreman install 重新下载所有相关工具。

您下载的工具现在应该可以正确工作。

许可

Foreman 在 MIT 许可下可用。有关详细信息,请参阅 LICENSE.txthttps://opensource.org/licenses/MIT

依赖项

~17–35MB
~572K SLoC