强曰为道

与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

第 02 章:安装与环境配置

第 02 章:安装与环境配置

2.1 安装 Deno

Deno 是一个单一的可执行文件,安装非常简单。以下是各平台的安装方式。

macOS / Linux(官方脚本)

# 使用官方安装脚本
curl -fsSL https://deno.land/install.sh | sh

执行后,Deno 会被安装到以下位置:

平台默认安装路径
macOS$HOME/.deno/bin/deno
Linux$HOME/.deno/bin/deno

安装完成后,需要将 Deno 添加到 PATH:

# Bash / Zsh(添加到 ~/.bashrc 或 ~/.zshrc)
export DENO_DIR="$HOME/.deno"
export PATH="$DENO_DIR/bin:$PATH"

验证安装:

deno --version
# 输出示例:
# deno 2.x.x (release, x86_64-unknown-linux-gnu)
# v8 1x.x.x.x
# typescript 5.x.x

Windows

# 方法 1:PowerShell 安装脚本
irm https://deno.land/install.ps1 | iex

# 方法 2:使用 Scoop
scoop install deno

# 方法 3:使用 Chocolatey
choco install deno

包管理器安装

平台命令
macOS (Homebrew)brew install deno
Arch Linuxpacman -S deno
Ubuntu/Debian (Snap)snap install deno
Windows (Scoop)scoop install deno
Windows (Chocolatey)choco install deno

从源码构建

# 克隆仓库
git clone https://github.com/denoland/deno.git
cd deno

# 需要 Rust 和 Cargo
# 构建(耗时较长)
cargo build --release

# 构建产物在 target/release/deno

⚠️ 注意:从源码构建需要 Rust 1.x+ 和较多磁盘空间,不建议初学者使用。


2.2 版本管理:dvm

dvm(Deno Version Manager)是 Deno 的版本管理工具,类似于 Node.js 的 nvm。

安装 dvm

# macOS / Linux
curl -fsSL https://deno.land/install.sh | sh -s -- --dvm

# 或者使用 cargo
cargo install dvm

常用命令

# 查看可安装的版本
dvm ls-remote

# 安装指定版本
dvm install 1.45.0
dvm install 2.0.0

# 安装最新版
dvm install latest

# 列出本地已安装版本
dvm ls

# 切换版本
dvm use 1.45.0
dvm use 2.0.0

# 设置默认版本
dvm default 2.0.0

# 查看当前版本
dvm current

# 卸载版本
dvm uninstall 1.45.0

版本固定(项目级别)

在项目根目录创建 .dvmrc 文件:

# .dvmrc
2.0.0

团队成员执行 dvm use 时会自动切换到指定版本。

dvm 与 nvm 对比

功能dvmnvm
版本安装dvm installnvm install
版本切换dvm usenvm use
项目级固定.dvmrc.nvmrc
自动切换支持支持
全局默认dvm defaultnvm alias default

2.3 环境变量与目录

Deno 关键目录

环境变量默认值说明
DENO_DIR$HOME/.cache/deno(Linux)Deno 缓存和依赖存储目录
DENO_INSTALL_ROOT$HOME/.denodeno install 安装脚本的目录
DENO_TLS_CA_STOREsystemTLS 证书存储方式
NO_COLOR(未设置)设置后禁用彩色输出
DENO_NO_PROMPT(未设置)禁止所有交互式提示

缓存目录结构

~/.cache/deno/           # Linux 默认缓存目录
├── deps/                 # 远程依赖缓存
│   ├── https/           # HTTPS 导入的模块
│   └── http/            # HTTP 导入的模块
├── gen/                  # 编译后的 JavaScript 文件
├── npm/                  # npm 包缓存(Deno 2.0+)
├── lsp_data/            # 语言服务器数据
└── registries/           # JSR 等注册中心缓存

清理缓存

# 查看缓存大小
du -sh ~/.cache/deno

# 清理所有缓存
deno clean

# 重新加载远程模块
deno run --reload script.ts

# 重新加载特定模块
deno run --reload=https://deno.land/std script.ts

2.4 IDE 支持

VS Code(推荐)

VS Code 是 Deno 开发的首选 IDE,拥有完善的官方扩展支持。

安装 Deno 扩展:

  1. 打开 VS Code
  2. 搜索扩展 Deno(作者:denoland)
  3. 安装 Deno for Visual Studio Code

启用 Deno 支持:

在项目根目录创建 .vscode/settings.json

{
  "deno.enable": true,
  "deno.lint": true,
  "deno.unstable": [],
  "[typescript]": {
    "editor.defaultFormatter": "denoland.vscode-deno"
  },
  "[javascript]": {
    "editor.defaultFormatter": "denoland.vscode-deno"
  }
}

常用快捷键/命令:

命令说明
Deno: Initialize Workspace初始化 Deno 工作区
Deno: Restart Server重启语言服务器
Deno: Cache缓存当前文件的依赖
Deno: Welcome打开欢迎页面

JetBrains IDEs(WebStorm / IntelliJ)

JetBrains IDE 从 2023.2 版本开始内置 Deno 支持:

  1. 进入 Settings → Languages & Frameworks → Deno
  2. 勾选 Enable
  3. 设置 Deno 可执行文件路径

Neovim

使用 nvim-lspconfig 配置 Deno LSP:

-- init.lua
require('lspconfig').denols.setup {
  on_attach = on_attach,
  root_dir = require('lspconfig').util.root_pattern("deno.json", "deno.jsonc"),
  init_options = {
    lint = true,
    unstable = false,
  },
}

Vim

使用 vim-plugcoc.nvim

" .vimrc
Plug 'neoclide/coc.nvim', {'branch': 'release'}

" 在 coc-settings.json 中添加
" {
"   "suggest": { "languageServers": { "deno": { "enable": true } } }
" }

2.5 验证与诊断

deno info 命令

# 查看 Deno 的配置信息
deno info
# 输出示例:
# DENO_DIR location: /home/user/.cache/deno
# Remote modules cache: /home/user/.cache/deno/deps
# npm modules cache: /home/user/.cache/deno/npm
# Language server: /home/user/.cache/deno/lsp_data
# Origin storage: /home/user/.cache/deno/location_data

# 查看模块依赖图
deno info https://deno.land/[email protected]/http/server.ts

# 查看某个模块的依赖
deno info --json script.ts

deno upgrade

# 升级到最新版
deno upgrade

# 升级到指定版本
deno upgrade 2.1.0

# 升级到 canary(开发版)
deno upgrade --canary

# 检查最新版本但不安装
deno upgrade --dry-run

安装诊断清单

# 1. 检查 Deno 版本
deno --version

# 2. 检查 TypeScript 编译
echo 'console.log("Hello")' > test.ts && deno run test.ts && rm test.ts

# 3. 检查网络访问
deno run https://deno.land/[email protected]/examples/cat.ts https://example.com

# 4. 检查权限系统
deno run -e 'await Deno.readTextFile("/etc/hosts")'  # 应报权限错误

# 5. 检查 LSP(VS Code 打开任意 .ts 文件查看诊断)

2.6 常见问题与解决方案

问题原因解决方案
command not found: denoPATH 未配置~/.deno/bin 添加到 PATH
下载超时网络问题使用代理或 deno.land 镜像
权限被拒绝安全沙箱添加 --allow-* 标志
TypeScript 类型错误类型不匹配检查 // @deno-types 注释
npm 包安装失败包不兼容检查是否支持 Deno,或使用兼容层
LSP 不工作扩展未启用检查 .vscode/settings.json

代理配置

# 设置 HTTP 代理
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890

# 运行 Deno
deno run script.ts

2.7 本章小结

要点说明
安装方式官方脚本、包管理器、从源码构建
版本管理使用 dvm 管理多版本
缓存目录~/.cache/deno,可用 deno clean 清理
IDE 支持VS Code(首选)、JetBrains、Neovim
升级deno upgrade 升级版本

📖 扩展阅读


下一章第 03 章:Hello World → 编写并运行你的第一个 Deno 程序。