javascript - "internal/modules/cjs/loader.js:582 זרוק שגיאה"


אני מקבל את השגיאה הבאה בקונסולה: Error : Cannot find module.

הנה כל השגיאה. מה עלי לעשות?

internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

תשובה #1

לכל הפלטפורמות => Windows, Linux, Mac

  1. מחק את התיקיה node_modules
  2. מחק את הקובץ package-lock.json
  3. הרץ npm install
  4. הרץ npm start

לינוקס

rm -rf node_modules package-lock.json && npm install && npm start

תשובה #2

היה לי את הבעיה הזו כשניסיתי לראשונה על node js.
שמתי לב שהבעיה הזו קרתה לי בגלל שהיה לי כמה קבצי .js עם שמות זהים בתיקיות שונות, שהיו באותה תיקיית פרויקט ראשית.
יצרתי תיקייה נוספת מחוץ לתיקיית הפרויקט הראשית, ויצרתי קובץ .js.
לאחר מכן, זה רץ בסדר.
לדוגמה - app.js

תשובה #3

נסה את הפקודה הבאה

הסר את node_modules ואת package-lock.json

rm -rf node_modules package-lock.json

לאחר מכן הפעל את הפקודה הבאה כדי להתקין את התלויות

npm install

לבסוף, הרץ את החבילה שלך באמצעות הפקודה הבאה.

npm start

תשובה #4

1. קרא את הודעת השגיאה!

קרא את הודעת השגיאה. השורה הראשונה של החלק השני אומרת:

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'

אז הדבר הראשון לבדוק הוא: האם הקובץ קיים?

ב-Windows, פתח שורת פקודה (WinKey+r, הקלד cmd, לחץ על Enter). הפעל:

dir C:\Users\User\Desktop\NodeJsProject\app.js

אם התשובה היא - המערכת לא יכולה למצוא את הנתיב שצוין. - או - קובץ לא נמצא - אז אתה יודע שהקובץ לא קיים.


באופן דומה, בלינוקס/יוניקס (במקרה שלי MSYS2 על Windows), הפעל

ls "C:\Users\User\Desktop\NodeJsProject\app.js"
ls: cannot access 'C:\Users\User\Desktop\NodeJsProject\app.js': No such file or directory

כך, אם בלינוקס אתה מקבל No such file or directory, אז אתה יודע ש-הקובץ אינו קיים.

2. נסו להריץ npm install

אם הסעיף 1 למעלה לא פתר את הבעיה שלך, נסה להריץ npm install, ואז npm start.

3. מוצא אחרון: נסה את התשובה הזו

אם אף אחד מהאמור לעיל לא פתר את הבעיה שלך, העצה האחרונה שלי היא:

  1. למחוק את התיקייה node_modules,
  2. מחק את הקובץ package-lock.json,
  3. הפעל npm install,
  4. הפעל npm start.

4. אם השגיאה מתרחשת ב-VS Code

הערה:
השגיאה עלולה להתרחש ללא סיבה ברורה בעת ניפוי שגיאות ב-Visual Studio Code.
אם אתם מקבלים את השגיאה בתוך VS Code, בדקו אם תשובה זו עוזרת.

5. כיצד לשחזר את השגיאה שלך

כביכול, כבר התקנת את Node.js במחשב שלך.
אם לא, הורד והתקן.

הודעת השגיאה קלה לשחזור. לאחר התקנת Node.js, פתח שורת פקודה, והרץ:

node thisFileDoesNotExist.js
node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module 'C:\thisFileDoesNotExist.js'
[90m    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)[39m
[90m    at Module._load (node:internal/modules/cjs/loader:920:27)[39m
[90m    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)[39m
[90m    at node:internal/main/run_main_module:23:47[39m {
  code: [32m'MODULE_NOT_FOUND'[39m,
  requireStack: []
}

Node.js v18.14.2

6. איך להריץ node <someFile.js> בלי שגיאה

כדי להריץ Node.js בטרמינל בלי שגיאה, בשורת הפקודה של Windows, הרץ:

echo console.log('\nHello world!')> hello.js
node hello.js

בטרמינל של לינוקס, נסה:

echo "console.log('\nHello world\!\n')"> hello.js
node hello.js

בשני המקרים, צפה שהתגובה תהיה:

Hello world!

אם תמחוק את hello.js ואז תריץ את node hello.js, אתה אמור שוב לקבל את השגיאה ששאלת עליה.

הפניות

  • MSYS2 | דף ההורדה
  • הפתרון הקיצוני ביותר לפתור את השגיאה
  • Visual Studio Code | דף ההורדה
  • ענה מה לעשות אם השגיאה מתרחשת ב-VS Code
  • כיצד ליצור דוגמה מינימלית וחזרה על המצב
  • Node.js | דף ההורדה