FORMA

安装与环境

Deno 安装与环境配置

Deno 提供了多种安装方式,覆盖主流操作系统。安装后需确保环境 PATH 正确,并可配置一些环境变量以控制行为。

一、官方建议的安装方式

平台命令
macOS / Linuxcurl -fsSL https://deno.land/install.sh | sh
Windows (PowerShell)irm https://deno.land/install.ps1 | iex
npm(不推荐,启动较慢)npm install -g deno
Homebrew (macOS)brew install deno
包管理器 (其他)winget install denoscoop install deno

推荐:优先使用官网安装脚本(curl/iex),它能自动完成下载并添加到 PATH。

安装脚本默认将 Deno 放入 ~/.deno/bin(Linux/macOS)或 %USERPROFILE%\.deno\bin(Windows),并尝试自动添加至 PATH。安装完成后,新开一个终端窗口或执行 source ~/.bashrc(Linux)即可生效。

二、验证安装

bash
deno --version

输出示例:

text
deno 2.6.0 (release, aarch64-apple-darwin)
v8 12.6.228.29
typescript 5.6.2

如果提示命令未找到,请手动将 Deno 的 bin 目录添加到 PATH 环境变量中。

三、基础环境变量

变量说明
DENO_DIR指定 Deno 缓存目录(依赖下载、编译产物等),默认为 ~/.cache/deno(Linux/macOS)或 %LOCALAPPDATA%\deno(Windows)。
NO_COLOR设置为任意非空值时,禁用彩色输出。适合日志记录或 CI 环境。
HTTP_PROXY / HTTPS_PROXY配置 HTTP/HTTPS 代理(如 http://127.0.0.1:8080),用于网络请求。
DENO_INSTALL安装脚本使用的目标目录,默认 ~/.deno
DENO_CERT指定自定义 PEM 格式的证书文件路径。

示例(Linux):

bash
export DENO_DIR=/data/deno_cache
export NO_COLOR=true
export HTTPS_PROXY=http://proxy.company.com:3128

四、升级 Deno

bash
deno upgrade   # 升级到最新稳定版
deno upgrade --version 1.45.0   # 升级到指定版本

五、卸载 Deno

  • 脚本安装:删除 ~/.deno(或 %USERPROFILE%\.deno)目录,并移除 PATH 中的条目。
  • Homebrewbrew uninstall deno
  • npmnpm uninstall -g deno

安装完成后,可使用 deno run main.ts 运行本地脚本。远程示例需网络权限,且 URL 应以当前文档为准。

六、Docker 中安装

CI 或容器化部署时,推荐直接使用官方镜像而不是在基础镜像里手动安装:

dockerfile
FROM denoland/deno:2.6.0

WORKDIR /app
COPY . .

# 提前缓存依赖,加快启动
RUN deno cache main.ts

CMD ["run", "--allow-net", "--allow-env", "main.ts"]

若必须在通用镜像(如 node:20)里安装,用官方脚本并显式指定版本,保证可复现:

bash
curl -fsSL https://deno.land/install.sh | sh -s v2.6.0

七、版本管理工具(多版本共存)

团队内多个项目依赖不同 Deno 版本时,可借助通用版本管理器统一切换,而不是全局只装一个版本:

工具说明
mise通配多语言版本管理器,支持 mise use deno@2.6.0
asdf + asdf-deno 插件类似 nvm 的多语言版本管理方案

在项目根目录写入 .tool-versionsmise.toml 声明版本,配合 CI 缓存可保证团队与流水线使用一致的 Deno 版本。

八、CI(GitHub Actions)中安装

yaml
# .github/workflows/ci.yml
- uses: denoland/setup-deno@v2
  with:
    deno-version: v2.6.0
- run: deno fmt --check
- run: deno lint
- run: deno test --allow-net

setup-deno 官方 Action 会处理好缓存与 PATH,无需手动运行安装脚本。

常见坑

  • 安装脚本执行成功但命令仍未找到:多数是新终端窗口未重新加载 shell 配置文件(~/.zshrc/~/.bashrc)导致,重新打开终端或手动 source 一次即可确认。
  • 系统同时存在 npm 安装的 deno 与脚本安装的 deno:两者可能版本不同、路径不同,which deno 排查实际生效的是哪一个,避免行为“看起来不一致”。
  • 公司网络需要代理却忘记配置 HTTPS_PROXY:会导致安装脚本或依赖下载超时/失败,先确认代理变量是否对当前 shell 生效。
  • CI 里每次都重新下载 Deno:build 时间明显变长,建议对 ~/.deno 或 Action 自带缓存进行持久化。

最佳实践

  1. 本地开发用官方安装脚本一次性搞定;多版本切换场景交给 mise/asdf,不要手动维护多个 PATH 条目。
  2. Docker/CI 场景优先使用官方镜像或 denoland/setup-deno,而不是在每次构建时重新执行安装脚本。
  3. 生产环境固定具体版本号(如 deno:2.6.0),避免 latest 标签带来的不可预期升级。
  4. 升级前先在本地或预发环境跑一遍 deno test,确认第三方依赖在新版本下仍正常工作。

延伸阅读

参考文献

资料说明
Install官方安装
deno upgrade升级
setup-denoGitHub Actions
Deno Docker 镜像官方镜像