উত্তর:
থেকে npm-লিঙ্ক ডকুমেন্টেশন :
স্থানীয় মডিউল ডিরেক্টরিতে:
$ cd ./package-dir
$ npm link
মডিউলটি ব্যবহার করতে প্রকল্পের ডিরেক্টরিতে:
$ cd ./project-dir
$ npm link package-name
অথবা একসাথে আপেক্ষিক পথ ব্যবহার করুন:
$ cd ./project-dir
$ npm link ../package-dir
এটি হুডের নীচে দুটি কমান্ড ব্যবহার করার সমতুল্য।
npm linkবাহ্যিক নির্ভরতার দ্বিতীয় উদাহরণ তৈরি করবে। সুতরাং আপনার যদি প্যাকেজ এ এবং বি এবং সি প্রয়োজন হয়, বি সি প্রয়োজন হয় লিঙ্ক বি এর ফলে অ্যাপ্লিকেশন এ দুটি সি এর দুটি দৃষ্টান্ত তৈরি করবে
আপনি কেবল একটি <folder>যুক্তি সরবরাহ করেন npm install, যুক্তিটি প্যাকেজের নামের পরিবর্তে স্থানীয় ফোল্ডারের দিকে নির্দেশ করা উচিত:
npm install /path
rm -rf node_modulesআগে এবং npm installপরে আপনার পক্ষে ভাল লাগল ।
যেহেতু একই ব্যক্তির জিজ্ঞাসা করা হয়েছে এবং উত্তর দেওয়া হয়েছে, আমি একটি এনপিএম লিঙ্ক যুক্ত করব বিকল্প হিসাবে একটি ।
ডক্স থেকে:
এটি আপনার নিজের স্টাফ ইনস্টল করার জন্য সহজ, যাতে আপনি এটিতে কাজ করতে পারেন এবং ক্রমাগত পুনর্নির্মাণ না করে পুনরুক্তি পরীক্ষা করতে পারেন।
cd ~/projects/node-bloggy # go into the dir of your main project
npm link ../node-redis # link the dir of your dependency
[সম্পাদনা] এনপিএম ২.০ হিসাবে, আপনি প্যাকেজ.জসনে স্থানীয় নির্ভরতা ঘোষণা করতে পারেন
"dependencies": {
"bar": "file:../foo/bar"
}
npm linkএকবার ফোল্ডারটির বিরুদ্ধে চালানো দরকার (গ্লোবাল সিমলিংক তৈরি করতে) এবং তারপরে npm link package-nameপ্রকল্পের ফোল্ডারের মধ্যে চালানো উচিত (আপনার প্রকল্পে গ্লোবাল সিমলিংকটি ব্যবহার করতে)। নীচের উত্তরটি সঠিক উত্তর।
file:অ্যাপ্লিকেশন ( পদ্ধতির ব্যবহার করে ) আমার অ্যাপ্লিকেশন এবং স্থানীয় মডিউলকে নির্ভরতা ভাগ করার অনুমতি দিয়েছে allowed আমার পরীক্ষার npm linkফলে একটি সদৃশ নির্ভরতা হয়েছিল, যা নির্ভরতাটিকে সিঙ্গলটন হিসাবে ব্যবহার করার প্রয়োজন হলে জিনিসগুলি ভেঙে দেয়।
npm pack + + package.jsonএটিই আমার পক্ষে কাজ করেছে:
module project, এক্সিকিউট npm pack:এটি একটি নির্মাণ করবে <package-name>-<version>.tar.gz ফাইল ।
consumer projectআদর্শভাবে আপনি এই সমস্ত ফাইল tmpআপনার consumer-projectমূলের একটি ফোল্ডারে রাখতে পারেন :
package.json:"dependencies": {
"my-package": "file:/./tmp/my-package-1.3.3.tar.gz"
}
Installপ্যাকেজগুলি:npm installবা npm iবাyarn
consumer-project's node_modulesফোল্ডারে পাওয়া উচিত ।শুভকামনা ...
স্থানীয় মডিউলে যদি পিয়ার নির্ভরতা থাকে যা আপনি কেবল আপনার প্রকল্পের আওতায় ইনস্টল করতে চান তবে এই পদ্ধতির ( npm linkবা package.jsonফাইল নির্ভরতা) কোনওটিই কাজ করে না।
উদাহরণ স্বরূপ:
/local/mymodule/package.json:
"name": "mymodule",
"peerDependencies":
{
"foo": "^2.5"
}
/dev/myproject/package.json:
"dependencies":
{
"mymodule": "file:/local/mymodule",
"foo": "^2.5"
}
এই দৃশ্যে, এনপিএম myprojectএর node_modules/মত সেট আপ করে :
/dev/myproject/node_modules/
foo/
mymodule -> /local/mymodule
যখন নোড লোড হয় mymoduleএবং এটি হয় require('foo'), নোড mymoduleসিমিলিংককে সমাধান করে এবং তারপরে কেবল /local/mymodule/node_modules/(এবং এর পূর্বপুরুষদের) সন্ধান করে fooযা এটি খুঁজে পায় না। পরিবর্তে, আমরা নোডটি দেখতে চাই /local/myproject/node_modules/, যেহেতু আমাদের প্রকল্পটি কোথা থেকে চালু ছিল এবং কোথায় fooইনস্টল করা হয়েছে।
সুতরাং, আমরা হয় একটি উপায় নোড জানানোর জন্য প্রয়োজন না এই সিমবলিক লিঙ্ক সমাধান যখন খুঁজছেন foo, অথবা আমরা একটি উপায় একটি ইনস্টল করতে npm বলতে চাই কপি এর mymoduleকখন ফাইলটি নির্ভরতা সিনট্যাক্স ব্যবহার করা হয় package.json। দুর্ভাগ্যক্রমে: আমি কোনওভাবেই উপায় করার উপায় পাইনি (
NODE_PATHনির্দেশ করতে হবে । সুতরাং উপরে ক্ষেত্রে জন্য, এটা এই হবে: অর্থাৎ পারবেন এটি । node_modules/fooNODE_PATH=/dev/myproject/node_modules/mymodulefoo
পূর্ববর্তী লোকেরা যেমন উত্তর দিয়েছে npm --save ../location-of-your-packages-root-directory। ../location-of-your-packages-root-directoryতবে যাতে এটা কাজ করার জন্য দুটি জিনিস থাকতে হবে।
1) package.jsonযে ডিরেক্টরিতে নির্দেশিত
2) mainসম্পত্তি package.jsonসেট এবং করা আবশ্যক কাজ Ig "main": "src/index.js",যদি জন্য এন্ট্রি ফাইলে ../location-of-your-packages-root-directoryহয়../location-of-your-packages-root-directory/src/index.js