📦
【Deno 2.0】動かなくなった File Server を再インストールする
結論
Deno Third Party Modules(以下TPM)の代わりに JSR から再インストールします。
従来の file_server は Deno 2.0 以降では動かない
Deno 2.0 以降のネイティブ API に破壊的変更が入ったため、TPM からインストールしたスクリプトが Deno 本体のアップグレード後に動かなくなる場合があります。
今回はその一例として、既にスタンドアロンとしてインストールした file_server
を、Deno 標準ライブラリの新しいリポジトリである JSR から再インストールしてみます。
コマンド
今回インストールする file_server.ts
はこの JSR リポジトリから直接取得できます。
deno install --allow-net --allow-read --global -f https://jsr.io/@std/http/1.0.8/file_server.ts
従来のリポジトリである deno.land/x/
から JSR へ変更するだけでなく、スクリプトの上書きを行うために -f
を追記する必要があります。
いかがでしたか?
従来の File Server が機能しなくなったのは、どうやら Deno 2.0 以降の Deno.copy
がネイティブから標準ライブラリに移行したことが原因らしいです。
#9795 - Remove pure JS (non native) io functions from Deno namespace
Discussion