node.js: মডিউল 'অনুরোধ' খুঁজে পাচ্ছে না


92

আমি অনুরোধ মডিউল ইনস্টল করেছি এবং ত্রুটি পেয়েছি :

module.js:340
    throw err;
          ^
Error: Cannot find module 'request'

আমি এই ত্রুটি সম্পর্কে সমস্ত পোস্ট পড়েছি এবং বুঝতে পেরেছি যে এটি কারণ মডিউল অনুরোধগুলি বিশ্বব্যাপী পাওয়া যায় নি, তবে আমি ইতিমধ্যে 2 টি পরামর্শ চেষ্টা করেছি

এনপিএম ইনস্টল অনুরোধ -জি

এটি কি / ইউএসআর / লোকা / বিনে ইনস্টল করা উচিত? কারণ আমি এটি সেখানে দেখছি না।

এবং

sudo এনপিএম লিঙ্ক

/ ইউএসআর / স্থানীয় / লিব / নোড_মডিউল / অনুরোধ -> / ব্যবহারকারী / সোলসোনিক / দেব / স্যান্ডবক্স / নোড_টেষ্ট / অনুরোধ

আমি প্রতিটি কমান্ডের পরে টার্মিনাল পুনরায় চালু করেছি, তবে মডিউল ত্রুটি খুঁজে পাচ্ছি না এমনটিই পেতে থাকুন।

হালনাগাদ

আমার প্রাথমিক ডিরেক্টরিতে অবশ্যই কোনও না কোনও দ্বন্দ্ব দেখা গিয়েছিল, কারণ "এনপিএম ইনস্টল অনুরোধ" নোড_মডিউলগুলির অধীনে "অনুরোধ" যোগ করছিল না (সেখানে অন্য 10 জন) .. এটি সবেমাত্র একটি নতুন ডিরেক্টরিতে স্যুইচ করার পরে।

যদি আমি এটি-জি সুইচ দিয়ে চালিত করি তবে আমি এটি দেখতে পাচ্ছি যে এটি / usr / স্থানীয় / lib / নোড_মডিউল / অনুরোধে ইনস্টল করা আছে।

মনে হচ্ছে আমার কেবলমাত্র আমার প্রোফাইলটি আপডেট করা দরকার যাতে উপরের পাথটি স্বয়ংক্রিয়ভাবে যুক্ত হয় is

উত্তর:


171

আপনার প্রকল্পের ডিরেক্টরিতে যান

mkdir TestProject
cd TestProject

এই ডিরেক্টরিটিকে আপনার প্রকল্পের মূল করুন (এটি একটি ডিফল্ট package.jsonফাইল তৈরি করবে )

npm init --yes

প্রয়োজনীয় এনপিএম মডিউল ইনস্টল করুন এবং এটি প্রকল্প নির্ভরতা হিসাবে সংরক্ষণ করুন (এটি প্রদর্শিত হবে package.json)

npm install request --save

test.jsপ্যাকেজ উদাহরণ থেকে কোড সহ প্রকল্প ডিরেক্টরিতে একটি ফাইল তৈরি করুন

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body); // Print the google web page.
  }
});

আপনার প্রকল্প ডিরেক্টরিটি দেখতে এমন হওয়া উচিত

TestProject/
- node_modules/
- package.json
- test.js

এখন কেবল আপনার প্রকল্প ডিরেক্টরিতে নোড চালান

node test.js

4
হ্যাঁ এটাই ঠিক আমি অনুসরণ করেছি। এবং আমি এখন 10 বার এনপিএম ইনস্টলার চালাচ্ছি .. আমার পরীক্ষা প্রকল্পে এবং -g পতাকা ব্যবহার করে। আমি আমার পরীক্ষার ডিরেক্টরিতে নোড_মডিউলগুলি দেখতে পাচ্ছি, তবে অনুরোধটি সেখানে নেই .. এটি আমাকে ত্রুটিটি অব্যাহত রাখে ..
সোনিক সোল

কারণ আমার কিছু অদ্ভুত বিরোধ থাকলেও এটি অনুসরণ করার সঠিক পদক্ষেপ। এটি আবার কাজ করে আমি আবার নতুন ডিরেক্টরিতে এটি করেছি। আমার সাথে কী ঘটেছিল সে সম্পর্কে আমি একটি আপডেট যুক্ত করেছি যা সম্ভবত অন্যদের জন্য বিরল হবে
সোনিক সোল

32

আপনার প্রকল্পের মধ্যে আপনার request স্থানীয়ভাবে ইনস্টল করা উচিত ।

কেবলমাত্র cdআপনার জেএস ফাইল এবং ফোল্ডারে থাকা ফোল্ডারে

npm install request

"এনপিএম ইনস্টল অনুরোধ" এর পরে আমি আমার অ্যাপ্লিকেশন.জেসকে অনুরোধ ফোল্ডারে অনুলিপি করেছিলাম এবং একই ফলাফল নিয়ে সেখান থেকে চালানোর চেষ্টা করেছি। এবং আমি এটি কেবল একটি প্রকল্পের চেয়ে বেশি ব্যবহার করতে হবে।
সোনিক সোল

@ সোনিকসোল: আপনি নোড প্যাকেজগুলি কীভাবে কাজ করে তা ভুল বুঝে চলেছেন। require('request')তাকান ./node_modules/requestএবং এটি সেখানে npm installরাখে। আপনার npm installপ্রতিটি অ্যাপ্লিকেশনের রুট ডিরেক্টরি থেকে চালানো উচিত এবং আপনার node_modulesনিজের ফোল্ডারটি কখনও স্পর্শ করা উচিত নয় ।
স্ল্যাक्स

সামনে চলমান npm install request, আপনি চালানো উচিত npm init। অনুরোধগুলি অনুসরণ করুন যা package.jsonআপনার প্রকল্প ফোল্ডারে একটি তৈরি করবে । তারপরে রান করুন npm install -S requestযা উভয়ই নোড_মডিউলগুলি ফোল্ডারে অনুরোধের মডিউলটি ইনস্টল করার পাশাপাশি আপনার প্যাকেজ.জসন ফাইলে অনুরোধ যোগ করবে
নূহ

@ এসএলাক্স এর অর্থ কি এই যে প্রতিবার আমি যে প্যাকেজটি ইনস্টল করব তার মূল ফোল্ডারে প্রবেশ করে চালানো দরকার npm install? তাদের সবার জন্য?
ড্রামববাস

@ ড্রামনবাস: নং npm installসমস্ত নির্ভরতা ইনস্টল করে।
স্ল্যাक्स

16

আমার একই সমস্যা ছিল, আমার npm install request --save জন্য সমস্যাটি সমাধান করা। আশা করি এটা সাহায্য করবে.


1

আমিও একই সমস্যায় পড়ছিলাম, আমি এখানে এটি কীভাবে কাজ করলাম ..

ওপেন টার্মিনাল:

mkdir testExpress
cd testExpress
npm install request

বা

sudo npm install -g request // If you would like to globally install.

এখন ব্যবহার করবেন না

নোড app.jsবা নোড test.js, আপনি এই সমস্যাটি চালিয়ে যাবেন। আপনি এই কমান্ডটি ব্যবহার করে যে সমস্যার সৃষ্টি হচ্ছে তা মুদ্রণ করতে পারেন .."node -p app.js"

নোডজেগুলি শুরু করার জন্য উপরের কমান্ডটি হ্রাস করা হয়েছে। পরিবর্তে ব্যবহার

npm start

আপনার এটি দেখতে হবে ..

testExpress@0.0.0 start /Users/{username}/testExpress
node ./bin/www

আপনার ওয়েব ব্রাউজারটি খুলুন এবং লোকালহোস্টের জন্য পরীক্ষা করুন: 3000

আপনার এক্সপ্রেস ইনস্টল দেখতে হবে (এক্সপ্রেসে স্বাগতম)


1

আমি বিশ্বব্যাপী এটি ইনস্টল করার মতো একই সমস্যার মুখোমুখি হয়েছি, তারপরে আমি স্থানীয়ভাবে এটি ইনস্টল করার চেষ্টা করি এবং এটি কার্যকর হয়।


1

কিছু মডিউল যদি আপনি খুঁজে না পান তবে স্ট্যাটিক ইউআরআই দিয়ে চেষ্টা করুন, উদাহরণস্বরূপ:

var Mustache = require("/media/fabio/Datos/Express/2_required_a_module/node_modules/mustache/mustache.js");

এই যেমন, উবুন্টু, Gnome চালানো 64 16,04 বিট, নোড -v: v4.2.6, npm: 3.5.2 পড়ুন বেন Nadel ব্লগ


0

রেফারেন্স এরির: ভেরিয়েবল খুঁজে পাচ্ছেন না: প্রয়োজন।

আপনি "এনএমপি" ইনস্টল করেছেন, আপনি কোনও "লোকালহোস্ট" "127.0.0.1" এ স্বাভাবিক স্ক্রিপ্ট হিসাবে চালাতে পারেন।

আপনি যখন একটি "এনএমপি" তে "অপশনগুলি" সহ http.clientRequest () ব্যবহার করেন তখন আপনাকে মডিউলটির ভিতরে "প্রয়োজনীয় জেএস" ইনস্টল করতে হবে।

একটি মডিউল নোড_মডিউল ডিরেক্টরিতে যে কোনও ফাইল বা ডিরেক্টরি যা নোড দ্বারা লোড করা যায়। কাজের জন্য http.clientRequest (বিকল্পসমূহ) করার জন্য "RequiereJS" ইনস্টল করুন।


0

আমি স্থানীয়ভাবে সংস্করণ সহ মডিউলটি ইনস্টল করার চেষ্টা করেছি এবং এটি কাজ করেছে !!

npm install request@^2.*

ধন্যবাদ

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