Deno: Import error - Module not found
Denoでモジュールのインポートに失敗した場合の原因と解決策
概要
DenoでURLまたはローカルモジュールのインポートに失敗するエラーです。
エラーメッセージ
``` error: Module not found “https://deno.land/x/package@v1.0.0/mod.ts". ```
原因
- URLの誤り: パスやバージョンが間違っている
- ネットワークの問題: モジュールサーバーに到達できない
- キャッシュの問題: 古いキャッシュとの競合
- 権限の問題: –allow-netが必要
解決策
1. モジュールURLを確認
```typescript // deno.land/x import { serve } from “https://deno.land/std@0.208.0/http/server.ts";
// npm互換 import express from “npm:express@4”;
// esm.sh 経由 import React from “https://esm.sh/react@18"; ```
2. キャッシュをクリア
```bash
特定モジュールを再取得
deno cache –reload mod.ts
全キャッシュをクリア
deno cache –reload ```
3. import mapを使用
```json // import_map.json { “imports”: { “std/”: “https://deno.land/std@0.208.0/", “lodash”: “https://esm.sh/lodash@4" } } ```
```bash deno run –import-map=import_map.json mod.ts ```
4. deno.jsonで依存管理
```json // deno.json { “imports”: { “@std/http”: “jsr:@std/http@^0.208.0” } } ```
5. Node.js互換モード
```typescript // node_modules を使用 import express from “npm:express”;
// または package.json から // deno.json に “nodeModulesDir”: true ```
よくある間違い
- バージョン指定なしでインポート
- httpsをhttpと誤記
- stdのパスが古い形式
関連エラー
関連エラー
JavaScript の他のエラー
この記事は役に立ちましたか?