4 Star 12 Fork 1

ghosind / dvm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README-CN.md 8.35 KB
一键复制 编辑 原始数据 按行查看 历史
ghosind 提交于 2023-09-20 21:55 . Update readme.

DVM - Deno Version Manager

test lint Codacy Badge Version Badge License Badge

简体中文 | English

DVM是一个强大的轻量级Deno版本管理工具,可在MacOS、Linux、WSL以及装有Bash的Windows上使用。

DVM仅在v0.7.0及之后的版本支持Windows。对于Windows用户,使用DVM前需要安装Bash Shell。例如,可以在安装WSL后在PowerShell中执行bash命令。

在使用DVM管理你的多版本环境时,请避免使用deno upgrade命令进行升级deno版本。

安装与升级

安装DVM

我们提供了以下两种方式以安装DVM:

  1. 运行下列命令从网络安装DVM:
curl -o- https://raw.githubusercontent.com/ghosind/dvm/master/install.sh | bash

对于国内的用户,可使用DVM的Gitee镜像以提高下载速度:

curl -o- https://gitee.com/ghosind/dvm/raw/master/install.sh | DVM_SOURCE=gitee bash
  1. Clone远程git仓库至本地,并运行install.sh脚本:
git clone "https://github.com/ghosind/dvm.git"
# 同样,可以从我们的gitee项目上clone
# git clone "https://gitee.com/ghosind/dvm.git"
cd dvm
./install.sh

在完成DVM的安装后,请重启终端或运行source <Shell_配置文件>以应用更改,安装程序将会提醒具体的操作步骤。

默认情况下,DVM将安装在~/.dvm目录下,可使用-d <dir>参数(仅限于本地安装使用)或$DVM_DIR环境变量指定一个不存在的目录作为DVM的安装目录。

curl -o- "https://raw.githubusercontent.com/ghosind/dvm/master/install.sh" | DVM_DIR=~/deno/dvm bash
./install.sh -d ~/deno/dvm

升级DVM

若您使用DVM v0.3.0及以上版本,可通过DVM本身提供的upgrade命令将本地DVM升级至最新的稳定版本。

dvm upgrade

若您使用DVM v0.3.0以下的版本时,需要卸载现有版本并重新安装的方法进行升级。您可通过手工卸载章节提供的卸载方式卸载DVM,再重新进行安装。

依赖需求

请确保下列依赖软件已经安装:

  • curl
  • git
  • unzip (Deno v0.36.0及更新的版本)
  • gunzip (Deno v0.35.0及更旧的版本)

若需要从源码安装Deno,请确保以下依赖软件已经安装:

  • rustc
  • cargo
  • cc
  • cmake

DVM入门

列出已安装的版本

使用dvm ls命令列出所有已安装的版本(及别名):

# 列除所有当前已安装的版本
dvm ls

列出可安装版本

使用dvm ls-remote脚本列出所有可安装的版本:

# 列出所有可安装的版本
dvm ls-remote

安装版本

使用dvm install <version>下载并安装指定版本:

dvm install v1.0.0
dvn install v0.42.0

源码安装

DVM v0.8.0及以上版本支持从源码安装Deno:

dvm install --from-source v1.35.0

删除版本

使用dvm uninstall <version>卸载指定版本:

dvm uninstall v0.39.0
dvm uninstall v1.0.0-rc

切换版本

使用dvm use [version]命令将指定的版本设置为当前使用的版本,若未指定则将从当前目录下的.dvmrc文件中读取:

# 使用Deno v1.0.0
dvm use v1.0.0

# 使用通过.dvmrc文件指定的版本
# cat .dvmrc
# # v1.0.0
dvm use

通过use命令设置的版本仅适用于当前终端会话中,若希望为所有的终端会话设置使用的版本,请为版本设置default别名,可参考设置别名章节为指定版本设置别名。

当前版本信息

使用dvm current命令输出当前使用的Deno版本信息:

dvm current
# v1.0.0

设置别名

使用dvm alias命令可为已安装的版本设置别名:

dvm alias default v1.0.0

运行指定版本

通过dvm run命令运行指定版本Deno,在有参数指定的情况下通过对应的参数执行对应的脚本:

# 使用Deno v1.0.0运行app.ts
dvm run v1.0.0 app.ts

DVM命令

DVM支持的命令包括有:

命令 使用方法 描述
install dvm install 下载并安装从.dvmrc读取的指定版本或最新deno版本
dvm install <version> 下载并安装指定的版本
dvm install <version> --registry=<registry> 通过指定的镜像下载deno
dvm install <version> --skip-validation 下载deno前不对版本进行校验
dvm install <version> --from-source 编译源码并安装Deno
uninstall dvm uninstall <version> 卸载指定的版本
use dvm use 将指定的版本设置为当前使用的版本,未指定版本将从当前目录下的.dvmrc文件中读取
dvm use <version> 将指定的版本设置为当前使用的版本
dvm use <name> 将指定的别名对应的版本设置为当前使用的版本
run dvm run <version> [args] 运行指定版本Deno,并传递对应的参数
alias dvm alias <name> <version> 为指定版本设置别名
unalias dvm unalias <name> 删除指定的别名
current dvm current 显示当前使用的Deno版本
ls dvm ls 显示所有当前已安装的版本及别名
list dvm list ls相同
ls-remote dvm ls-remote 显示所有可安装的版本
list-remote dvm list-remote ls-remote相同
which dvm which 显示指定版本Deno安装的目录,未指定版本将从当前目录下的.dvmrc文件中读取
dvm which current 显示当前使用的版本Deno安装的目录
dvm which <version> 显示指定版本Deno安装的目录
clean dvm clean 清除下载缓存
deactivate dvm deactivate 取消当前shell中活跃的Deno
doctor dvm doctor 列出存在问题的版本(未安装成功/版本号错误)
dvm doctor --fix 扫描并修复存在问题的版本
upgrade dvm upgrade 更新DVM
purge dvm purge 卸载DVM
help dvm help 打印帮助信息

更多信息请参考dvm wiki

可选参数

参数 描述
-q, --quiet 安静模式,大大减少输出的数量,只保留了少数必要的输出
--color 以色彩模式运行,输出的文本不再单调
--no-color 以默认颜色输出
--verbose 打印debug信息

如何卸载DVM

使用purge命令

DVM v0.3.2及以上版本提供了purge命令,该命令可被用于卸载DVM本身,它将移除DVM所在的目录以及Shell环境配置文件中的相关内容。若您的DVM版本低于v0.3.2,请通过下面手工卸载的方法卸载。

手工卸载

DVM所有的文件都保存在$DVM_DIR变量指定的目录下,若需要卸载DVM,只需删除$DVM_DIR指定的目录即可。

rm -rf "$DVM_DIR"

除文件目录外,DVM将配置信息写入了Shell环境配置文件中(如.bashrc.zshrc,根据具体使用的Shell种类决定),您可编辑对应的文件删除下列几行代码:

# Deno Version Manager
export DVM_DIR="$HOME/.dvm"
[ -f "$DVM_DIR/dvm.sh" ] && . "$DVM_DIR/dvm.sh"
[ -f "$DVM_DIR/bash_completion" ] && . "$DVM_DIR/bash_completion"

许可

本项目通过MIT许可发布,查看LICENSE文件获取更多信息。

Shell
1
https://gitee.com/ghosind/dvm.git
git@gitee.com:ghosind/dvm.git
ghosind
dvm
dvm
master

搜索帮助