WebX

এনপিএম (npm) চিটশিট

এনপিএম (npm) হলো নোড.জেএস (Node.js)-এর ডিফল্ট প্যাকেজ ম্যানেজার, যা জাভাস্ক্রিপ্ট প্যাকেজ ইনস্টল, পরিচালনা, এবং প্রকাশের জন্য ব্যবহৃত হয়। এই চিটশিটে npm-এর সব মৌলিক থেকে উন্নত কমান্ড, ধারণা, এবং ব্যবহার বিস্তারিতভাবে কভার করা হয়েছে।

১. এনপিএম পরিচিতি

১.১ মৌলিক ধারণা

  • প্যাকেজ: পুনঃব্যবহারযোগ্য কোডের সংগ্রহ।
  • package.json: প্রজেক্টের মেটাডেটা এবং ডিপেন্ডেন্সি ফাইল।
  • নোড মডিউল: ইনস্টল করা প্যাকেজের ফোল্ডার (node_modules)।
  • রেজিস্ট্রি: প্যাকেজ হোস্ট করার সার্ভার (ডিফল্ট: npmjs.com)।

১.২ ইনস্টলেশন

  • নোড.জেএস-এর সাথে npm আসে:
    node -v
    npm -v
  • আপডেট:
    npm install -g npm

২. এনপিএম কনফিগারেশন

২.১ গ্লোবাল কনফিগারেশন

কমান্ডবর্ণনাউদাহরণ
npm config setকনফিগ সেট করা।npm config set init.author.name "আপনার নাম"
npm config getকনফিগ দেখা।npm config get init.author.name
npm config listসব কনফিগ তালিকা।npm config list
npm config editকনফিগ ফাইল এডিট।npm config edit

উদাহরণ:

npm config set init.author.email "আপনার@ইমেইল.com"

২.২ .npmrc ফাইল

  • গ্লোবাল: ~/.npmrc
  • প্রজেক্ট-লেভেল: ./.npmrc
registry=https://registry.npmjs.org/
init.author.name=আপনার নাম

৩. প্রজেক্ট শুরু

৩.১ নতুন প্রজেক্ট

কমান্ডবর্ণনাউদাহরণ
npm initpackage.json তৈরি।npm init
npm init -yডিফল্ট সেটিংসে তৈরি।npm init -y

উদাহরণ:

mkdir myproject
cd myproject
npm init -y

৩.২ package.json ফিল্ড

{
  "name": "myproject",
  "version": "1.0.0",
  "description": "একটি সাধারণ প্রজেক্ট",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "test": "echo \"টেস্ট নেই\""
  },
  "author": "আপনার নাম",
  "license": "MIT",
  "dependencies": {},
  "devDependencies": {}
}

৪. প্যাকেজ ম্যানেজমেন্ট

৪.১ প্যাকেজ ইনস্টল

কমান্ডবর্ণনাউদাহরণ
npm installপ্যাকেজ ইনস্টল।npm install express
npm iসংক্ষিপ্ত আকারে ইনস্টল।npm i lodash
npm install --saveডিপেন্ডেন্সিতে যোগ (npm 5-এর নিচের ভার্সনের জন্য) ।npm install --save axios
npm install -Dডেভ ডিপেন্ডেন্সিতে যোগ।npm install -D nodemon
npm install -gগ্লোবাল ইনস্টল।npm install -g typescript
npm install <version>নির্দিষ্ট ভার্সন।npm install express@4.17.1

উদাহরণ:

npm install express
npm install -D eslint

৪.২ প্যাকেজ আনইনস্টল

কমান্ডবর্ণনাউদাহরণ
npm uninstallপ্যাকেজ মুছে ফেলা।npm uninstall express
npm uninstall -gগ্লোবাল প্যাকেজ মুছে ফেলা।npm uninstall -g typescript

৪.৩ ডিপেন্ডেন্সি আপডেট

কমান্ডবর্ণনাউদাহরণ
npm updateসব প্যাকেজ আপডেট।npm update
npm update <pkg>নির্দিষ্ট প্যাকেজ আপডেট।npm update express
npm install <pkg>@latestসর্বশেষ ভার্সন।npm install express@latest

৪.৪ ডিপেন্ডেন্সি ইনস্টল

কমান্ডবর্ণনাউদাহরণ
npm installpackage.json থেকে ইনস্টল।npm install
npm ciপরিষ্কার ইনস্টল (lockfile থেকে)।npm ci

৫. স্ক্রিপ্ট পরিচালনা

৫.১ স্ক্রিপ্ট রান

কমান্ডবর্ণনাউদাহরণ
npm runকাস্টম স্ক্রিপ্ট চালানো।npm run start
npm start"start" স্ক্রিপ্ট।npm start
npm test"test" স্ক্রিপ্ট।npm test
npm run-scriptস্ক্রিপ্ট চালানো (পুরানো)।npm run-script build

উদাহরণ:

"scripts": {
  "dev": "nodemon index.js",
  "build": "webpack"
}
npm run dev

৫.২ প্রি- এবং পোস্ট-স্ক্রিপ্ট

"scripts": {
  "prebuild": "echo 'বিল্ড শুরু হচ্ছে'",
  "build": "webpack",
  "postbuild": "echo 'বিল্ড শেষ'"
}

৬. প্যাকেজ তথ্য

৬.১ প্যাকেজ দেখা

কমান্ডবর্ণনাউদাহরণ
npm listইনস্টল করা প্যাকেজ তালিকা।npm list
npm list -gগ্লোবাল প্যাকেজ তালিকা।npm list -g
npm infoপ্যাকেজের বিস্তারিত।npm info express
npm outdatedপুরানো প্যাকেজ তালিকা।npm outdated

৬.২ ডিপেন্ডেন্সি চেক

কমান্ডবর্ণনাউদাহরণ
npm lsডিপেন্ডেন্সি ট্রি।npm ls
npm auditসিকিউরিটি অডিট।npm audit
npm audit fixসিকিউরিটি ফিক্স।npm audit fix

৭. প্যাকেজ লক ফাইল

৭.১ package-lock.json

  • তৈরি: npm install চালালে স্বয়ংক্রিয়ভাবে তৈরি হয়।
  • ব্যবহার: নির্দিষ্ট ভার্সন লক করা।
npm install --package-lock-only # শুধু লক ফাইল আপডেট

৮. ক্যাশ ম্যানেজমেন্ট

কমান্ডবর্ণনাউদাহরণ
npm cache cleanক্যাশ পরিষ্কার।npm cache clean --force
npm cache verifyক্যাশ যাচাই।npm cache verify

৯. প্যাকেজ প্রকাশ

৯.১ নতুন প্যাকেজ প্রকাশ

  1. লগইন:
    npm login
  2. প্রকাশ:
    npm publish
  3. পাবলিক স্কোপড প্যাকেজ:
    npm publish --access public

৯.২ ভার্সন আপডেট

কমান্ডবর্ণনাউদাহরণ
npm versionভার্সন বাড়ানো।npm version patch
npm version majorমেজর ভার্সন।npm version major
npm version minorমাইনর ভার্সন।npm version minor
npm version patchপ্যাচ ভার্সন।npm version patch

উদাহরণ:

npm version minor
git push --tags
npm publish

১০. ওয়ার্কস্পেস (npm 7+)

১০.১ ওয়ার্কস্পেস সেটআপ

{
  "name": "monorepo",
  "workspaces": [
    "packages/*"
  ]
}
  • প্যাকেজ তৈরি:
mkdir -p packages/app1
cd packages/app1
npm init -y

১০.২ ওয়ার্কস্পেস কমান্ড

কমান্ডবর্ণনাউদাহরণ
npm installসব ওয়ার্কস্পেসে ইনস্টল।npm install
npm run <script> -w <name>নির্দিষ্ট ওয়ার্কস্পেসে স্ক্রিপ্ট।npm run start -w app1
npm execওয়ার্কস্পেসে কমান্ড।npm exec --workspace=app1 eslint .

১১. এনপিএম রেজিস্ট্রি

১১.১ কাস্টম রেজিস্ট্রি

npm config set registry https://myregistry.com/
npm install mypackage

১১.২ ডিফল্ট রেজিস্ট্রি

npm config set registry https://registry.npmjs.org/

১২. এনপিএম লিঙ্ক

১২.১ লোকাল প্যাকেজ লিঙ্ক

cd mypackage
npm link
cd ../myproject
npm link mypackage

১৩. এনপিএম ডিবাগিং

১৩.১ লগ লেভেল

কমান্ডবর্ণনাউদাহরণ
npm install --verboseবিস্তারিত আউটপুট।npm install express --verbose
npm install --silentআউটপুট বন্ধ।npm install --silent

১৩.২ এরর ট্রাবলশুট

  • ক্যাশ পরিষ্কার:
    npm cache clean --force
  • নোড মডিউল মুছে:
    rm -rf node_modules package-lock.json
    npm install

১৪. এনপিএম স্ক্রিপ্ট উদাহরণ

১৪.১ সম্পূর্ণ package.json

{
  "name": "myapp",
  "version": "1.0.0",
  "description": "একটি নমুনা অ্যাপ",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js",
    "build": "webpack --mode production",
    "test": "jest",
    "lint": "eslint .",
    "prepublish": "npm run build"
  },
  "dependencies": {
    "express": "^4.17.1"
  },
  "devDependencies": {
    "nodemon": "^2.0.15",
    "eslint": "^8.0.0",
    "jest": "^27.0.0"
  }
}

১৪.২ স্ক্রিপ্ট চালানো

npm start
npm run dev
npm test

১৫. এনপিএম টিপস এবং সেরা অভ্যাস

  • package-lock.json: সবসময় গিটে কমিট করুন।
  • স্ক্রিপ্ট: সাধারণ কাজের জন্য কাস্টম স্ক্রিপ্ট তৈরি করুন।
  • npm ci: CI/CD-তে ব্যবহার করুন।
  • অডিট: নিয়মিত npm audit চালান।

On this page

১. এনপিএম পরিচিতি
১.১ মৌলিক ধারণা
১.২ ইনস্টলেশন
২. এনপিএম কনফিগারেশন
২.১ গ্লোবাল কনফিগারেশন
২.২ .npmrc ফাইল
৩. প্রজেক্ট শুরু
৩.১ নতুন প্রজেক্ট
৩.২ package.json ফিল্ড
৪. প্যাকেজ ম্যানেজমেন্ট
৪.১ প্যাকেজ ইনস্টল
৪.২ প্যাকেজ আনইনস্টল
৪.৩ ডিপেন্ডেন্সি আপডেট
৪.৪ ডিপেন্ডেন্সি ইনস্টল
৫. স্ক্রিপ্ট পরিচালনা
৫.১ স্ক্রিপ্ট রান
৫.২ প্রি- এবং পোস্ট-স্ক্রিপ্ট
৬. প্যাকেজ তথ্য
৬.১ প্যাকেজ দেখা
৬.২ ডিপেন্ডেন্সি চেক
৭. প্যাকেজ লক ফাইল
৭.১ package-lock.json
৮. ক্যাশ ম্যানেজমেন্ট
৯. প্যাকেজ প্রকাশ
৯.১ নতুন প্যাকেজ প্রকাশ
৯.২ ভার্সন আপডেট
১০. ওয়ার্কস্পেস (npm 7+)
১০.১ ওয়ার্কস্পেস সেটআপ
১০.২ ওয়ার্কস্পেস কমান্ড
১১. এনপিএম রেজিস্ট্রি
১১.১ কাস্টম রেজিস্ট্রি
১১.২ ডিফল্ট রেজিস্ট্রি
১২. এনপিএম লিঙ্ক
১২.১ লোকাল প্যাকেজ লিঙ্ক
১৩. এনপিএম ডিবাগিং
১৩.১ লগ লেভেল
১৩.২ এরর ট্রাবলশুট
১৪. এনপিএম স্ক্রিপ্ট উদাহরণ
১৪.১ সম্পূর্ণ package.json
১৪.২ স্ক্রিপ্ট চালানো
১৫. এনপিএম টিপস এবং সেরা অভ্যাস