Deno 入门教程 / 第 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 Linux | pacman -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 对比
| 功能 | dvm | nvm |
|---|---|---|
| 版本安装 | dvm install | nvm install |
| 版本切换 | dvm use | nvm use |
| 项目级固定 | .dvmrc | .nvmrc |
| 自动切换 | 支持 | 支持 |
| 全局默认 | dvm default | nvm alias default |
2.3 环境变量与目录
Deno 关键目录
| 环境变量 | 默认值 | 说明 |
|---|---|---|
DENO_DIR | $HOME/.cache/deno(Linux) | Deno 缓存和依赖存储目录 |
DENO_INSTALL_ROOT | $HOME/.deno | deno install 安装脚本的目录 |
DENO_TLS_CA_STORE | system | TLS 证书存储方式 |
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 扩展:
- 打开 VS Code
- 搜索扩展
Deno(作者:denoland) - 安装
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 支持:
- 进入
Settings → Languages & Frameworks → Deno - 勾选
Enable - 设置 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-plug 和 coc.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: deno | PATH 未配置 | 将 ~/.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 程序。