একটি নির্দিষ্ট ডিরেক্টরিতে এনপিএম ইনস্টল করবেন কীভাবে?


উত্তর:


325

আপনি --prefixবিকল্পটি ব্যবহার করতে পারেন :

mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>

এরপরে প্যাকেজটি ইনস্টল করা হবে ./install/here/node_modulesmkdirযেহেতু npm অন্যথায় একটি ইতিমধ্যে বিদ্যমান চয়ন করতে পারে প্রয়োজন হয় node_modulesডিরেক্টরি অনুক্রমের উচ্চতর আপ করুন। ( ফোল্ডারে এনপিএম ডকুমেন্টেশন দেখুন ))


65
যদি আপনি - prefix বিকল্পটি ব্যবহার করেন তবে এই বিকল্প ডিরেক্টরিতে আপনার প্যাকেজ.জসন ফাইল থাকতে হবে appears বর্তমান ডিরেক্টরিতে প্যাকেজ.জসন থাকার এবং বিকল্প ডিরেক্টরিতে ইনস্টল করার কোনও উপায় আছে কি?

2
@ ফ্র্যাক্টাল এর জন্য আমার উত্তরটি দেখুন
yunzen

10
@ কৌন্ডি npm install(প্যাকেজের নাম ছাড়াই) এর জন্য পথ নির্দিষ্ট করার কোনও উপায় আছে ? আমি সরাসরি এটি ক্লান্ত করেছি, কিন্তু তারপরে এনপিএম package.jsonঅনুসন্ধান করে {prefix}। আমি যা লক্ষ্য করি তা হ'ল packages.jsonপ্রকল্পের মূলটি একই সাথে সমস্ত প্যাকেজগুলিতে ইনস্টল করতে দেওয়া {project root}/{project webroot}
automatix

আমি একটি পুনরাবৃত্তি ইস্যু মধ্যে দৌড়ে। একবার চালানোর জন্য কি কোনও উপায় আছে? আমি সাময়িকভাবে ডিরেক্টরি পরিবর্তন এবং তারপর কল করে এটা মীমাংসিত npm installকিন্তু --prefix, একটি সুন্দর সমাধান মত মনে হয় যদি এটি একটি পুনরাবৃত্তির ঘটাচ্ছে করা হয় নি।
adi518

47

ইন ডকুমেন্টেশন বর্ণিত আছে: উপসর্গ বিকল্প ব্যবহার করুন বিশ্বব্যাপী বিকল্প একসঙ্গে :

উপসর্গ অবস্থান যেখানে নোড ইনস্টল করা ডিফল্ট কনফিগ। সবচেয়ে সিস্টেমে, এই হল , / usr / স্থানীয় । উইন্ডোজগুলিতে, এটি নোড.এক্সই বাইনারিটির সঠিক অবস্থান। ইউনিক্স সিস্টেমে এটি এক স্তর উপরে, যেহেতু নোড সাধারণত {উপসর্গ} /node.exe এর পরিবর্তে {উপসর্গ bin / বিন / নোডে ইনস্টল থাকে

যখন বিশ্ব পতাকা সেট করা হয়, এনপিএম এই উপসর্গটিতে জিনিসগুলি ইনস্টল করে। এটি সেট না করা হলে এটি বর্তমান প্যাকেজটির মূল ব্যবহার করে বা ইতিমধ্যে প্যাকেজে না থাকলে বর্তমান ওয়ার্কিং ডিরেক্টরি।

(তাদের দ্বারা জোর দেওয়া)

সুতরাং আপনার মূল ডিরেক্টরিতে আপনি ইনস্টল করতে পারে

npm install --prefix <path/to/prefix_folder> -g

এবং এটি node_modulesফোল্ডারে ফোল্ডারটি ইনস্টল করবে

<path/to/prefix_folder>/lib/node_modules

2
আপনি requireবিশ্বজুড়ে প্যাকেজ ইনস্টল করতে পারবেন না , পারবেন কি?
পাভলো

3
@ পাভলো এই সাহায্য করে? stackoverflow.com/questions/15636367/...
yunzen

1
আপনার উত্তরে এটি যুক্ত করা উচিত।
পাভলো

6
@ পাভলো আমার মনে হয় না। এটি ওপি-র উত্তর নয়।
ইউনজেন

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

43

এনপিএম সংস্করণ 3.8.6 হিসাবে, আপনি ব্যবহার করতে পারেন

npm install --prefix ./install/here <package>

নির্দিষ্ট ডিরেক্টরি ইনস্টল করতে। এনপিএম স্বয়ংক্রিয়ভাবে node_modulesফোল্ডার তৈরি করে এমনকি একটি node_modulesডিরেক্টরি ইতিমধ্যে উচ্চতর স্তরক্রমের মধ্যে উপস্থিত থাকলেও। package.jsonআপনার বর্তমান ডিরেক্টরিতে একটি থাকতে পারে এবং তারপরে --prefixবিকল্পটি ব্যবহার করে নির্দিষ্ট ডিরেক্টরিতে এটি ইনস্টল করতে পারেন :

npm install --prefix ./install/here

এনএমপি 6.0.0, হিসাবে আপনি ব্যবহার করতে পারেন

npm install --prefix ./install/here ./

"./install/here" ডিরেক্টরিতে বর্তমান ডিরেক্টরিতে package.json ইনস্টল করতে। আমি ম্যাকের উপরে একটি জিনিস লক্ষ্য করেছি যে এটি নোড_মডিউলগুলির ডিরেক্টরিতে প্যারেন্ট ফোল্ডারে একটি সিমলিংক তৈরি করে। তবে, এটি এখনও কাজ করে।

দ্রষ্টব্য: --prefixবিকল্পটি দিয়ে আপনি যে পথটি নির্দিষ্ট করেছেন তাতে এনপিএম সম্মান করে । এটি ফোল্ডারে এনপিএম ডকুমেন্টেশন অনুসারে সমাধান হয় , কেবলমাত্র যখন বিকল্প npm installব্যতীত ব্যবহৃত হয় --prefix


1
এটি কাজ করে বলে মনে হচ্ছে না, আমি সর্বদা পাইCan't install <current directory>: Missing package name
টিবোর ব্লেনিজি

1
টিবোরব্লেসি ধরে নিচ্ছেন যে আপনি দ্বিতীয় ইনস্টলেশন বিবৃতিটির কথা বলছেন। আপনার বর্তমান ডিরেক্টরিতে বৈধ প্যাকেজ.জসন ফাইল রয়েছে তা নিশ্চিত করুন। যদি এটি এখনও কাজ না করে তবে আমাকে আপনার এনপিএম সংস্করণটি জানান। এই পদক্ষেপগুলি নির্দিষ্ট এনপিএম সংস্করণ দিয়ে কাজ করতে ব্যবহৃত হয়েছিল। এবং, তারা যদি আর না করে তবে আমি গভীর ডুব দিয়ে মূল কারণটি পেতে পছন্দ করব এবং হতে পারে আমি বিকল্প নিয়ে আসতে পারি।
রোহিত শর্মা 10

1
@ রোহিতশর্মা এনপিএম .0.০.০ ব্যবহার করে এই পদ্ধতিটি কাজ করে না কারণ এটি package.jsonফাইলটি প্রত্যাশা করে./install/here
খ্রিস্টান আইভিসেভিচ

@ ক্রিশ্চিয়ানআইভিসেভিচ আপনি বর্তমান ডিরেক্টরিতে "./install/here" ডিরেক্টরিতে প্যাকেজ.জসন ইনস্টল করতে এনপিএম ইনস্টল - प्रीফিক্স ./install/here ./ ব্যবহার করতে পারেন। আমি ম্যাকের উপরে একটি জিনিস লক্ষ্য করেছি যে এটি নোড_মডিউলগুলির ডিরেক্টরিতে প্যারেন্ট ফোল্ডারে একটি সিমলিংক তৈরি করে। তবে, এটি এখনও এনএমপি 6.0.0.0 নিয়ে কাজ করে
রোহিত শর্মা

1
@ তানোরো তৃতীয় কমান্ড এনএমপি 6.0.0.0 সাথে সিমলিংক তৈরির সাথে উত্তর হিসাবে উল্লিখিত হিসাবে কাজ করবে। আমি কখনই এনপিএম v3.5.2 দিয়ে প্রথম 2 কমান্ড চেষ্টা করে দেখিনি যার কারণে আমি চেষ্টা করেছি এনপিএমের নির্দিষ্ট সংস্করণটি উল্লেখ করেছি। দয়া করে অন্যান্য সংস্করণগুলির জন্যও ওয়ার্কিং কমান্ড সহ উত্তরটি নির্দ্বিধায় আপডেট করুন।
রোহিত শর্মা

0

আমি একটি পাওয়ারশেল বিল্ড ব্যবহার করছি এবং বর্তমান ডিরেক্টরিটি পরিবর্তন না করে চালানোর জন্য এনপিএম পেতে পারি না।

স্টার্ট কমান্ডটি ব্যবহার করে শেষ হয়েছে এবং কেবল ওয়ার্কিং ডিরেক্টরিটি নির্দিষ্ট করে:

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