Chapter 09

依存モジュールのバージョンを明示しよう

uki00a
uki00a
2021.05.05に更新

例えば、次のようなimport文を記述したコードがあったとします。

import { connect } from "https://deno.land/x/redis/mod.ts";

実は、このコードはDenoにおいてはあまり理想的ではないです。

次のようにモジュールのバージョンを明示しましょう。

import { connect } from "https://deno.land/x/redis@v0.22.0/mod.ts";

どうしてモジュールのバージョンを明示すべきなの?

deno.land/xesm.shなどの多くのモジュールレジストリは、URLでモジュールのバージョンが指定されなかった場合、その時点での最新バージョンを返却します。

そのため、アクセスしたタイミング次第で、ダウンロードされるモジュールのバージョンが変わってしまう可能性があります。

それにより、特定のマシンではうまく動いたけど、別のマシンや本番環境ではうまく動かないといった厄介な問題が発生する可能性が考えられます。

こういった問題を避けるためにも、依存モジュールのバージョンは常に明示するようにしましょう。

ポイント

  • サードパーティモジュールやdeno_stdをimportする際は、バージョンを明示しましょう。