7 个版本 (3 个稳定版)

1.0.2 2024年2月16日
1.0.1 2023年7月12日
1.0.0 2023年6月27日
0.1.3 2023年6月26日

#115构建工具

每月 34 次下载

MIT 许可证

54KB
1K SLoC

DSM - Dart SDK 管理器

ci

fnmnvm 启发,为 Dart SDK 提供简化的版本管理器。

demo svg

安装

要快速安装 dsm,可以使用以下脚本之一

bash (linux/macos/windows)

$ curl -fsSL https://dsm-vm.vercel.app/install.sh | bash

如果您有 git bash,bash 脚本在 windows 上也可以工作,因为它包含了相关的实用工具,如 unamecurl 等。脚本接受如 -F--filename 标志来覆盖要使用的文件(请参阅发行版部分以查看可用的选项)。运行 --help 标志以查看可用的选项。例如

$ curl -fsSL https://dsm-vm.vercel.app/install.sh | bash -s -- --install-dir "path/to/file" -F "x86_64-unknown-linux-musl" --skip-shell

powershell (windows)

$ irm https://dsm-vm.vercel.app/install.ps1 | iex

您可以通过声明一个 $v 变量来指定版本,并通过名为 DSM_INSTALL 的环境变量来更改安装目录

crates.io

$ cargo install dsm

本地

首先克隆仓库。然后构建它。您需要在本地环境中安装 rust 工具链。您可以从 此处 获取它。您还需要 git

$ git clone https://github.com/Yakiyo/dsm

$ cd dsm

$ cargo build --release

预构建的二进制文件

一些平台的预构建二进制文件可在 github 发行版 部分找到。您可以下载文件,重命名它并将其添加到您的系统 PATH 中。

安装后,按照 设置 中所述设置您的 shell。

设置

用于设置 shell 的命令是 dsm env <SHELL>。目前支持 powershell、bash、zsh、cmd 和 fish。

Bash/Zsh

将以下内容添加到您的 .bashrc.zshrc 文件中。

eval $(dsm env bash)
# or for zsh
eval $(dsm env zsh)

Fish

创建 ~/.config/fish/conf.d/dsm.fish 并添加以下内容。

dsm env fish | source

Powershell

将以下内容添加到您的 powershell 配置文件中

dsm env powershell | Out-String | Invoke-Expression

您可以使用变量 $PROFILE 来查看您个人资料的路径。

命令提示符

创建一个启动脚本并添加以下内容。

FOR /f "tokens=*" %i IN ('dsm env cmd') DO CALL %i

用法

安装特定版本

$ dsm install 3.0.3

您可以使用 latest 来安装最新稳定的 SDK 版本。dev/beta 通道的最新版本也支持通过 latest/channellatest-channel 格式。

$ dsm install latest-dev # or dsm install latest/dev

$ dsm install latest # same as latest-stable or latest/stable

然后使用 use 命令来激活它

$ dsm use 3.0.3

对于创建别名,请使用 aliasunalias 命令

$ dsm alias 3.0.3 pinned

$ dsm unalias pinned

查看所有已安装版本

$ dsm ls # or dsm list

要查看所有命令,请执行 dsm --help

贡献

欢迎贡献。您可以从任何一个开放的 问题 开始工作。对于添加新功能,请在开始工作之前打开一个问题以便讨论。优先考虑功能提交,因此请为单个功能打开单独的prs,而不是在单个 pull request 中进行多个功能添加/更改。对于任何更改,如果适用,请通过 pnpm changeset 添加更改集。

确保您的代码通过 CI,并在最终确定 pr 之前合并并解决来自上游的冲突。

如果您不能亲自编写代码但想请求一个功能,请打开一个问题,我会看看能做什么。

致谢

从 Schniz 的 fnm 中借鉴了大量的代码和灵感。项目结构、一些技巧和代码基于它。

作者

dsm © Yakiyo。由 Yakiyo 编写和维护。

在 MIT 许可下发布

如果您喜欢这个项目,请考虑给它点星 ⭐ 并与您的朋友和同事分享。

依赖项

~15–26MB
~423K SLoC