উত্তর:
কেবল postinstallস্ক্রিপ্টগুলি অক্ষম করা সম্ভব নয় । তবে, আপনি সমস্ত স্ক্রিপ্টগুলি ব্যবহার করে অক্ষম করতে পারেন:
$ npm install --ignore-scripts
মন্তব্যগুলিতে যেমন ডেলবার্টো উল্লেখ করেছেন, এটি নির্ভরতার স্ক্রিপ্টগুলিও অক্ষম করে।
--ignore-scriptsসমস্ত স্ক্রিপ্টগুলি অক্ষম করে - এমনকি আপনার নির্ভরতা থেকেও। যদি আপনার নির্ভরতাগুলির জন্য স্ক্রিপ্টগুলি চালনার প্রয়োজন হয় যেমন কিছু বাইনারি ইনস্টল করতে পারে তবে সেগুলি ভেঙে / অসম্পূর্ণ হতে পারে।
--ignore-scriptsএটিই নয় , বা সম্পর্কিত কনফিগারেশন অপশনটি (যা আমি বিশ্বব্যাপী সেট করেছি) এর অর্থ npm run startহ'ল চুপচাপ কিছুই করতে হবে না এবং সাফল্যের প্রতিবেদন করবে। বিস্ময়াবিষ্ট।
আপনি এনপিএম কনফিগারেশন ফাইলে সেটিংস সক্ষম করতে পারেন।
npm config set ignore-scripts true
দ্রষ্টব্য: এটি সমস্ত এনপিএম প্যাকেজগুলির জন্য স্ক্রিপ্টগুলি অক্ষম করবে।
আপনার নিজের লাইব্রেরির জন্য এটি করার জন্য, আমি এর মতো সাধারণ কিছু সুপারিশ করি:
#!/usr/bin/env bash
## this is your postinstall.sh script:
set -e;
if [ "$your_pkg_skip_postinstall" == "yes" ]; then
echo "skipping your package's postinstall routine.";
exit 0;
fi
তারপরে আপনার এনপিএম ইনস্টল করুন:
your_pkg_skip_postinstall="yes" npm install
আমি আমার প্রকল্পের জন্য পোস্ট ইনস্টল স্ক্রিপ্টটি অক্ষম করতে চেয়েছিলাম কিন্তু আমি যখন চাই তখন আমার প্রকল্পের নির্ভরতার সমস্ত স্ক্রিপ্টগুলি চালিত হোক npm install। এটিই আমি শেষ করেছিলাম।
./scripts/skip.js if (process.env.SKIP_BUILD) {
process.exit(0);
} else {
process.exit(1);
}
"scripts": {
...
"postinstall": "node ./scripts/skip.js || npm run build",
...
}
আপনার প্যাকেজটি তৈরি হতে আটকাতে এখনই পরিবেশের পরিবর্তনশীল SKIP_BUILD = 1 সেট করুন এবং আপনার নির্ভরতা ঠিকঠাক তৈরি করবে
SKIP_BUILD=1 npm install