Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I force Deno to download latest version of a dependency?

Tags:

node.js

deno

I want to use the latest version of https://deno.land/std/http/server.ts, but it's still using an old cached version when I run my server.

In node.js I would use:

npm i package@latest

What's the equivalent in Deno?

like image 640
Juan Carlos Avatar asked Apr 26 '20 16:04

Juan Carlos


1 Answers

In order to reload a module or all modules you have to use: --reload

For that module specifically:

deno run --reload=https://deno.land/std/http/server.ts index.js

or just use --reload without any value to reload all modules:

deno run --reload index.js

You can even select a couple of modules if you pass comma separated modules to --reload

deno run --reload=module1,moduleN index.js

Or reload all std modules

deno run --reload=https://deno.land/std index.js

You can use deno cache instead of deno run too. The former will just download the dependencies, while the former download & run the script.


Have in mind that some packages if not most use the version in the URL, so in case you want to update you'll need to update your import to that specific URL.

Let's say you have:

import { serve } from 'https://deno.land/[email protected]/http/server.ts'

And now you want to use v0.41.0, you'll need to update the code instead of using --reload since reload will download again v0.36.0

 import { serve } from 'https://deno.land/[email protected]/http/server.ts'
like image 139
Marcos Casagrande Avatar answered Nov 17 '22 08:11

Marcos Casagrande