নোড.জেএস ত্রুটি: মডিউল এক্সপ্রেস খুঁজে পাওয়া যায় না


145

আমি আমার প্রথম নোড.জেএস অ্যাপটি লিখেছি, তবে এটি এক্সপ্রেস লাইব্রেরিটি খুঁজে পাচ্ছে না:

C:\ChatServer\Server>node server.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\ChatServer\Server\server.js:6:9)
    at Object.<anonymous> (C:\ChatServer\Server\server.js:25:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

তবে এক্সপ্রেস অন্তরায় ( -gকী সহ):

C:\ChatServer\Server>npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/connect/2.7.11
npm http GET https://registry.npmjs.org/commander/0.6.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.4
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/mkdirp/0.3.4
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/connect/2.7.11
npm http 304 https://registry.npmjs.org/commander/0.6.1
npm WARN package.json range-parser@0.0.4 No repository field.
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http 304 https://registry.npmjs.org/send/0.1.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm http 304 https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/mime/1.2.6
npm http GET https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/send/0.1.1
npm http GET https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http 304 https://registry.npmjs.org/mime/1.2.6
npm http 304 https://registry.npmjs.org/bytes/0.2.0
npm WARN package.json bytes@0.2.0 No repository field.
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm WARN package.json pause@0.0.1 No repository field.
npm http 304 https://registry.npmjs.org/formidable/1.0.14
npm http 304 https://registry.npmjs.org/qs/0.6.5
npm http 304 https://registry.npmjs.org/send/0.1.1
npm http 304 https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
C:\Users\Dmitry\AppData\Roaming\npm\express -> C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express\bin\express
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
express@3.2.6 C:\Users\Dmitry\AppData\Roaming\npm\node_modules\express
├── methods@0.0.1
├── fresh@0.1.0
├── range-parser@0.0.4
├── cookie-signature@1.0.1
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── debug@0.7.2
├── commander@0.6.1
├── mkdirp@0.3.4
├── send@0.1.0 (mime@1.2.6)
└── connect@2.7.11 (pause@0.0.1, qs@0.6.5, bytes@0.2.0, cookie@0.0.5, formidable@1.0.14, send@0.1.1)

কিছু তথ্য:

C:\ChatServer\Server>npm --version
1.2.24

C:\ChatServer\Server>node --version
v0.10.9

C:\ChatServer\Server>npm --version
1.2.24

C:\ChatServer\Server>npm ls -g installed express
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json range-parser@0.0.4 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json policyfile@0.0.4 'repositories' (plural) Not supported.
npm WARN package.json Please pick one as the 'repository' field
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
C:\Users\Dmitry\AppData\Roaming\npm
└── express@3.2.6


C:\ChatServer\Server>npm ls installed express
C:\ChatServer\Server
└── (empty)

কিভাবে আমি এই সমস্যার সমাধান করতে পারে? ( আমি কি এটি ইনস্টল করা আবশ্যক-g ?)




উত্তর:


275

আপনার অ্যাপ্লিকেশন ( node_modulesফোল্ডার) এর প্রসঙ্গে আপনাকে স্থানীয়ভাবে এক্সপ্রেস ইনস্টল করতে হবে :

$ npm install express

এর কারণ হ'ল অ্যাপ্লিকেশনগুলি যে কোনও নির্ভরতার জন্য সর্বদা তাদের স্থানীয় প্রেক্ষাপটে সন্ধান করে। বিশ্বব্যাপী ইনস্টলেশনটি কেবলমাত্র সিস্টেম-ব্যাপী উপলভ্য বাইনারি স্থাপনের জন্য যেমন ইউনিট পরীক্ষা চালক বা বুটস্ট্র্যাপার বা এর মতো জিনিস।

এক্সপ্রেসের সাহায্যে, আপনি বিশ্বব্যাপী এটি ইনস্টল করার সময়, আপনি একটি expressবাইনারি পাবেন যা আপনার জন্য কোনও অ্যাপ্লিকেশন বুটস্ট্র্যাপ করতে পারে। আরও তথ্যের জন্য, টাইপ করুন

$ express --help

সুতরাং, আপনার চূড়ান্ত প্রশ্নের উত্তর দিতে: হ্যাঁ , আপনাকে এটিটি ইনস্টল করা দরকার -g


1
এটি আমাকেও সাহায্য করেছিল। আমি winstonবিশ্বব্যাপী ইনস্টল করেছি , যা কোনও সাধারণ ব্যবহারকারী হিসাবে আমার অ্যাপ্লিকেশনটি শুরু করার সময় কোনও কারণে কাজ করেছিল, তবে আমার অ্যাপ্লিকেশন এবং একটি সিস্টেম ইআর স্ক্রিপ্ট শুরু করার সময় এটি কাজ করবে না। আমি অ্যাপ্লিকেশন ডিরেক্টরিতে স্থানীয়ভাবে উইনস্টোন ইনস্টল করে (এবং এটি প্যাকেজ.জসনে যুক্ত করে) ঠিক করেছি।
trusktr

3
আপনি আপনার প্রকল্পের মূল ডিরেক্টরিতে সিডি দ্বারা একটি বিশ্বব্যাপী ইনস্টলড্রেনডেন্সি যুক্ত করতে পারেন এবং তারপরে "এনপিএম লিঙ্ক <কিছু নির্ভরতার নাম>" ব্যবহার করতে পারেন
খোই এনগুইন

11
আপনার অ্যাপ তৈরির পরে এনএমপি ইনস্টল করুন। এটি সমস্ত নির্ভরতা ইনস্টল করবে।

ধন্যবাদ এটি সত্যিই সাহায্য করেছে। নোড_মডিউল ফোল্ডারে গিয়ে এক্সপ্রেস ইনস্টল করার চেয়ে আমার সমস্যার সমাধান হয়েছে
মেঘা

@ গোলো রডেন আপনার উত্তরটি কোডিং করে আমি আপনার সমাধানটি দিয়ে চেষ্টা করেছি তবে এটি ত্রুটি ছুঁড়েছে: 'এনপিএম ইআরআর! tar.unpack আনতার ত্রুটি সি: \ ব্যবহারকারীরা V ভিভি D অ্যাপডাটা \ রোমিং pm এনপিএম-ক্যাশে \ এক্সপ্রেস \ 4.14.0 \ প্যাকেজ.টিজিজেড এনএমপি ইআরআর! উইন্ডোজ_এনটি 6.3.9600 এনপিআর ইআরআর! argv "C: \\ প্রোগ্রাম ফাইলগুলি ode nodejs ode node.exe" "সি: \\ প্রোগ্রাম ফাইল \\ নোডেজ \\ নোড_মডিউলস \\ npm \\ বিন \\ npm-cli.js" "ইনস্টল" " এক্সপ্রেস "
VjyV

20

আমার জন্য এটি কাজ করে - স্থানীয়ভাবে স্থানীয়ভাবে এক্সপ্রেস ইনস্টল করার পরে - সেভ অপশনটি অনুসরণ করে:

$ npm install express --save

12

আপনি expressমডিউল ইনস্টল না করে কিনা তা পরীক্ষা করুন , এই কমান্ডটি ব্যবহার করুন:

 npm install express

এবং যদি আপনার node_modulesডিরেক্টরিটি অন্য কোনও স্থানে থাকে তবে NODE_PATHপরিবেশের পরিবর্তনশীল সেট করুন :

 set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%

উইন্ডোজ 10-এ এনপিএম ইনস্টল এক্সপ্রেসের পরে, এটি স্বয়ংক্রিয়ভাবে নোড পাথে যুক্ত হতে পারে না, আপনাকে নিজেই এটিতে নোড মডিউল যুক্ত করতে হবে।
জেন

5

গোলোর সমাধানটি ভালভাবে ব্যাখ্যা করেছেন, তবে আমি একটি স্পেসিফিকেশন যোগ করতে পারি:
কখনও কখনও নোড মডিউলগুলি ইনস্টল থাকে

/usr/local/lib/node_modules

এবং যখন আপনি নোড চালু করেন blabla.js মডিউলগুলি সন্ধান করা হয়

/lib

সুতরাং একটি সমাধান একটি প্রতীকী লিঙ্ক তৈরি করা হয়:

sudo ln -s /usr/local/lib/node_modules/ /lib/node_modules

1
সহজ উপায় -> এনপিএম লিঙ্ক <মডুল>
অমিত জি

4

আপনার ক্ষেত্রে আপনার expressমডিউলটি ইনস্টল করা আছে C:\Users\Dmitry\AppData\Roaming\npm\node_modules\expressতবে আপনার এই প্রকল্পের ডিরেক্টরিতে এই মডিউলটি নেওয়া উচিত। তাই আপনি যদি ফাইল কপি করা উচিত expressথেকে মডিউল ফোল্ডার C:\Users\Dmitry\AppData\Roaming\npm\node_modules\যেমন আপনার প্রকল্পের নির্দেশিকাতে: C:\ChatServer\Server\node_modules। আপনার প্রজেক্ট ফোল্ডারে যদি 'নোড_মডিউলস' নামে একটি ফোল্ডার না থাকে তবে প্রথমে এটি তৈরি করুন এবং এই ফোল্ডারে এই ফাইলগুলি আটকে দিন। এই পদ্ধতিটি আমার উইন্ডোজ পিসিতে আমার জন্য কাজ করেছিল। আপনার নোড সার্ভারটি পুনরায় চালু করুন এবং আবার কমান্ড নোডটি চালান C:\ChatServer\Server>node server.js। এটা এখন কাজ করা উচিত !!!!


উইন্ডোজ 10 এও কাজ করেছেন!
ভিক্টর মাইকেল কোসগেই


3

আপনি আপনার সিস্টেমে নোড ইনস্টল করেছেন , উইন্ডোজের জন্য নিম্নলিখিতটি ব্যবহার করে আপনার প্রকল্পের জন্য স্থানীয়ভাবে এক্সপ্রেস ইনস্টল করুন:

npm install express

অথবা

npm install express --save

আপনি এটি ব্যবহার করে বৈশ্বিক অ্যাক্সেস দিতে পারেন:

npm install -g express --save

2

Vscode এ আমার এই ত্রুটি ছিল, যদিও মডিউলগুলি ইনস্টল করা আছে। আমি টাইপস্ক্রিপ্ট এবং এক্সপ্রেস ব্যবহার করছি। ইন server.tsফাইলগুলি সমস্ত আমদানির squiggly underlines লাল ছিল। দেখা যাচ্ছে যে আমার একটি ত্রুটিযুক্ত tsconfig.jsonফাইল ছিল।

{
    "compileOnSave": false,
    "compilerOptions": {
        "module": "commonjs", // Previously this value was `es6`
        "target": "es6",
        "allowSyntheticDefaultImports": true,
        "baseUrl": "public",
        "sourceMap": true,
        "outDir": "dist",
        "jsx": "react",
        "strict": true,
        "preserveConstEnums": true,
        "removeComments": true,
        "noImplicitAny": true,
        "allowJs": true
    },
    "exclude": [
        "node_modules",
        "build"
    ]
}

1

আপনার হার্ডডিস্কে একটি ফোল্ডার তৈরি করুন যেমন স্যাম্পল 1

এনপিএম ইনস্টল এক্সপ্রেস

এনপিএম জেড ইনস্টল করুন

এনপিএম ইনস্টল सॉকেট.ইও

এবং তারপরে আপনি যা কিছু অ্যাপ্লিকেশন তৈরি করছেন সেটিকে নমুনা 1 ফোল্ডারে সংরক্ষণ করুন

চেষ্টা করে দেখুন ...


1

আপনার অ্যাপ্লিকেশন ডিরেক্টরিতে যান এবং নীচের কমান্ড এনএমপি ইনস্টল এক্সপ্রেস - সেভ করে এক্সপ্রেস মডিউলটি ইনস্টল করুন - সেভ করে নীচের কমান্ডটি এনপিএম ls ব্যবহার করে সমস্ত ইনস্টল মডিউল তালিকাভুক্ত করুন আপনি স্থানীয়ভাবে সমস্ত ইনস্টল মডিউল দেখতে পাবেন।


1

বিশ্বব্যাপী এক্সপ্রেস ইনস্টল করা আপনার স্থানীয় প্রকল্পে কাজ করবে না তাই আপনার ব্যবহারের জন্য স্থানীয়ভাবে এটি ইনস্টল করা দরকার।

npm install express

আশা করি এটি কার্যকর হবে

ধন্যবাদ


0

আমি একই সমস্যা আঘাত। আমি বিশ্বব্যাপী / ইউএসআর / লোকাল / বিন / এ এক্সপ্রেস ইনস্টল করেছিলাম। আমি যখন 'এনপিএম ইনস্টল' করি, স্থানীয় ডিরেক্টরিতে নোড_মডিউলগুলিতে এক্সপ্রেস তৈরি হয় নি।

  1. আপনার $ HOM এ .npmrc ফাইল আছে কিনা তা পরীক্ষা করুন
  2. যদি এর 'গ্লোবাল = সত্য' থাকে তবে 'গ্লোবাল = মিথ্যা' এ পরিবর্তন করুন
  3. এখন অ্যাপ্লিকেশন ডিরেক্টরিতে 'এনপিএম ইনস্টল' করুন। সম্ভবত, আপনার অ্যাপ্লিকেশন ডিরেক্টরিতে সমস্ত প্যাকেজ নির্ভর মডিউলগুলি নোড_মডিউলগুলিতে (স্থানীয়) ইনস্টল করা উচিত।

0
  • সুডো ব্রিউ আনইনস্টল নোড
  • ব্রিউ আপডেট
  • ব্রিউ আপগ্রেড
  • ব্রু ক্লিনআপ
  • ব্রিউ ইনস্টল নোড
  • sudo chown -R $ (whoami) / usr / স্থানীয়
  • ব্রিউ লিংক - ওভাররাইট নোড
  • সুডো ব্রাউন পোস্টস্টল নোড

এটি ম্যাকস এক্স সিয়েরাতে আমার জন্য কাজ করেছিল


0

আমি এটি ভাগ করে নেওয়ার জন্য গর্বিত নই, তবে আমার ক্ষেত্রে আমার ছিল:

 require('express.handlebars')

 //and the correct form is:
 require('express-handlebars'); //Use dash instead.

0

এই বইয়ের উদাহরণ অনুসরণ করার পরে আমার একই ত্রুটি হয়েছিল: "কুবারনেটস আপ ও রানিং"।
আমি অনেক উত্তর দেখতে পাচ্ছি "হাত দ্বারা" এক্সপ্রেস ইনস্টল করার পরামর্শ দিচ্ছে তবে আমি নিশ্চিত নই এটিই সেরা সমাধান the
যেহেতু আমরা প্যাকেজ.জসন ব্যবহার করছি (আমি এটি লগগুলিতে দেখতে পাচ্ছি) এবং অ্যাপ্লিকেশনটি তৈরির সঠিক উপায়টি চলছে npm install, তাই আমি প্যাকেজ.জসন ফাইলটিতে এক্সপ্রেস নির্ভরতা যুক্ত করেছি ।

 "dependencies": {
    "express": "^4.17.1"
}

আমি বর্তমান সংস্করণ সঙ্গে পেতে npm search express

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.