Skip to main content
On this page

deno update

Command line usage:
deno update [OPTIONS] [filters]...

Update outdated dependencies.

Update dependencies to the latest semver compatible versions:

deno update

Update dependencies to the latest versions, ignoring semver requirements:

deno update --latest

This command is an alias of deno outdated --update

Filters can be used to select which packages to act on. Filters can include wildcards (*) to match multiple packages.

deno update --latest "@std/*"
deno update --latest "react*"

Note that filters act on their aliases configured in deno.json / package.json, not the actual package names: Given "foobar": "npm:react@17.0.0" in deno.json or package.json, the filter "foobar" would update npm:react to the latest version.

deno update --latest foobar

Filters can be combined, and negative filters can be used to exclude results:

deno update --latest "@std/*" "!@std/fmt*"

Specific version requirements to update to can be specified:

deno update @std/fmt@^1.0.2

Options Jump to heading

--compatible Jump to heading

Only consider versions that satisfy semver requirements.

--interactive Jump to heading

Short flag: -i

Interactively select which dependencies to update.

--latest Jump to heading

Consider the latest version, regardless of semver constraints.

--recursive Jump to heading

Short flag: -r

Include all workspace members.

Dependency management options Jump to heading

--frozen Jump to heading

Error out if lockfile is out of date.

--lock Jump to heading

Check the specified lock file. (If value is not provided, defaults to "./deno.lock").

--no-lock Jump to heading

Disable auto discovery of the lock file.

更新依赖项 Jump to heading

默认情况下,update 子命令只会更新到符合 semver 兼容的版本(即不会更新到破坏性版本)。

$ deno update
更新了 1 个依赖项:
 - jsr:@std/fmt 1.0.0 -> 1.0.3

如果要更新到最新版本(无论是否符合 semver 兼容),请添加 --latest 标志。

$ deno update --latest
更新了 3 个依赖项:
 - jsr:@std/async 1.0.1 -> 1.0.8
 - jsr:@std/fmt   1.0.0 -> 1.0.3
 - npm:chalk      4.1.2 -> 5.3.0

选择包 Jump to heading

update 子命令也支持选择要操作的包。

$ deno update --latest chalk
更新了 1 个依赖项:
 - npm:chalk 4.1.2 -> 5.3.0

可以传入多个选择器,并且支持通配符 (*) 和排除 (!)。

例如,要更新所有带有 @std 作用域的包,除了 @std/fmt

$ deno update --latest "@std/*" "!@std/fmt"
更新了 1 个依赖项:
 - jsr:@std/async 1.0.1 -> 1.0.8

注意,如果使用通配符,通常需要用引号将参数括起来,以防止 shell 尝试展开它们。

更新到特定版本 Jump to heading

除了选择要更新的包之外,--update 标志还支持选择新的 版本,通过在版本号前添加 @ 指定。

❯ deno update chalk@5.2 @std/async@1.0.6
更新了 2 个依赖项:
 - jsr:@std/async 1.0.1 -> 1.0.6
 - npm:chalk      4.1.2 -> 5.2.0

工作区 Jump to heading

在工作区环境中,默认情况下,update 只会操作 当前 工作区成员。

例如,给定如下工作区:

{
  "workspace": ["./member-a", "./member-b"]
}

./member-a 目录运行

deno update

将只更新 ./member-a/deno.json./member-a/package.json 中列出的依赖项。

要包含所有工作区成员,请传入 --recursive 标志(也接受 -r 简写)

deno update --recursive
deno update --latest -r

你找到了你需要的东西吗?

编辑此页面
隐私政策