On this page
deno update
deno update updates dependencies in your
deno.json or package.json. See
Modules for more about managing dependencies.
Updating dependencies Jump to heading
By default, the update subcommand will only update dependencies to
semver-compatible versions (i.e. it won't update to a breaking version).
deno update
Updated 1 dependency:
- jsr:@std/fmt 1.0.0 -> 1.0.3
To update to the latest versions (regardless of whether it's semver compatible),
pass the --latest flag.
deno update --latest
Updated 3 dependencies:
- 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
Selecting packages Jump to heading
The update subcommand also supports selecting which packages to operate on.
deno update --latest chalk
Updated 1 dependency:
- npm:chalk 4.1.2 -> 5.3.0
Multiple selectors can be passed, and wildcards (*) or exclusions (!) are
also supported.
For instance, to update all packages with the @std scope, except for
@std/fmt:
deno update --latest "@std/*" "!@std/fmt"
Updated 1 dependency:
- jsr:@std/async 1.0.1 -> 1.0.8
Note that if you use wildcards, you will probably need to surround the argument in quotes to prevent the shell from trying to expand them.
Updating to specific versions Jump to heading
You can also select a specific version to update to by appending it after @.
deno update chalk@5.2 @std/async@1.0.6
Updated 2 dependencies:
- jsr:@std/async 1.0.1 -> 1.0.6
- npm:chalk 4.1.2 -> 5.2.0
Workspaces Jump to heading
In a workspace setting, by default update will only operate on the current
workspace member.
For instance, given a workspace:
{
"workspace": ["./member-a", "./member-b"]
}
Running
deno update
from the ./member-a directory will only update dependencies listed in
./member-a/deno.json or ./member-a/package.json.
To include all workspace members, pass the --recursive flag (the -r
shorthand is also accepted).
deno update --recursive
deno update --latest -r
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
--compatibleOnly consider versions that satisfy semver requirements.
--interactive, -iInteractively select which dependencies to update.
--latestConsider the latest version, regardless of semver constraints.
--lockfile-onlyInstall only updating the lockfile.
--minimum-dependency-age<minimum-dependency-age>(Unstable) The age in minutes, ISO-8601 duration or RFC3339 absolute timestamp (e.g. '120' for two hours, 'P2D' for two days, '2025-09-16' for cutoff date, '2025-09-16T12:00:00+00:00' for cutoff time, '0' to disable).
--recursive, -rInclude all workspace members.
Dependency management options Jump to heading
--frozen<BOOLEAN>optionalError out if lockfile is out of date.
--lock<FILE>optionalCheck the specified lock file. (If value is not provided, defaults to "./deno.lock").
--no-lockDisable auto discovery of the lock file.