Deno Tutorial
Deno Package Management
Deno has no standard package management system.
Deno modules are managed in a cache system.
Deno modules or packages are included using the standard "ES module" import
but also supports a fully qualified URL as a module, which allows it to import a module remotely.
When a URL module is specified, this is how Deno handles it:
- Deno downloads the module and caches it imports in a special directory specified by the
DENO_DIR
environment variable (defaults to the system's cache directory ifDENO_DIR
is not specified). - The next time you run the program, Deno checks for the module in the cache directory, if found, no downloads will be made.
Unlike Node.js, Deno does not have a package.json
which can be used to manage app dependencies, and because it does not have a standard package manager, all modules are downloaded for the first time and managed in the cache system.
However, while the basic philosophy of Deno is to cache all modules, if you still prefer managing your modules with a package management system, there is a third-party package manager already built for Deno which manages your Deno modules like the npm
.
Managing Deno Modules with Third-Party Package Manager
A popular and well efficient package called Deno Package Manager dpm
— inspired by npm
has been developed to simulate Node-like package management in Deno by storing Deno modules in a directory called deno_modules
and managing your dependencies inside the deps.json
in your project root directory.
For more information on how to use dpm
visit the official dpm repo.
What You Should Know at the End of This Chapter
- You should know that Deno has no standard package manager.
- You should understand how Deno modules management works.
- You should know there's an
npm
alternative for Deno calleddpm
even if you did not choose to work with it.