சார்பு மேலாண்மை என்றால் என்ன?
சார்பு மேலாண்மை என்பது உங்கள் பயன்பாட்டை சார்ந்திருக்கும் வெளிப்புற தொகுப்புகளைக் கண்காணித்தல், நிறுவுதல், புதுப்பித்தல் மற்றும் அகற்றுதல் ஆகும்.
இது உங்கள் பயன்பாடுகள் காலப்போக்கில் நிலையான, பாதுகாப்பான மற்றும் பராமரிக்கக்கூடியதாக இருக்க உதவுகிறது.
npm (Node Package Manager)
Node.js க்கான இயல்புநிலை தொகுப்பு மேலாளர்
Yarn
மாற்று தொகுப்பு மேலாளர்
pnpm
மற்றொரு பிரபலமான மாற்று
Node.js சார்பு மேலாண்மையின் முக்கிய கூறுகள்:
- சார்புகளை அறிவிக்க package.json கோப்பு
- சார்பு பதிப்பிற்கான பூட்டு கோப்புகள் (package-lock.json அல்லது yarn.lock)
- தொகுப்புகளை நிறுவ, புதுப்பிக்க மற்றும் அகற்ற தொகுப்பு மேலாளர் கட்டளைகள்
- பாதிப்புகளை அடையாளம் கண்டு சரிசெய்ய பாதுகாப்பு கருவிகள்
செமான்டிக் பதிப்பு மேலாண்மையைப் புரிந்துகொள்வது
Node.js தொகுப்புகள் செமான்டிக் பதிப்பு மேலாண்மையைப் (SemVer) பின்பற்றுகின்றன, மூன்று-பகுதி பதிப்பு எண்ணைப் பயன்படுத்துகின்றன: முக்கிய.சிறிய.பேட்ச்
முக்கிய
இணக்கமற்ற API மாற்றங்களுக்காக அதிகரிக்கப்படுகிறது
சிறிய
பின்னோக்கி இணக்கமான புதிய அம்சங்களுக்காக அதிகரிக்கப்படுகிறது
பேட்ச்
பின்னோக்கி இணக்கமான பிழை திருத்தங்களுக்காக அதிகரிக்கப்படுகிறது
| சின்னம் | எடுத்துக்காட்டு | அர்த்தம் |
|---|---|---|
| ^ | ^2.8.1 | 2.x.x உடன் ஏதேனும், முக்கிய பதிப்பு மட்டும் பொருந்த வேண்டும் (2.8.1 அல்லது அதிகமானது) |
| ~ | ~2.8.1 | 2.8.x உடன் ஏதேனும், முக்கிய.சிறிய மட்டும் பொருந்த வேண்டும் (2.8.1 அல்லது அதிகமானது) |
| * | * | எந்த பதிப்பும் (உற்பத்திக்கு பரிந்துரைக்கப்படவில்லை) |
| >= | >=2.8.1 | பதிப்பு 2.8.1 அல்லது எந்த உயர்ந்த பதிப்பும் |
| எதுவும் இல்லை | 2.8.1 | சரியான பதிப்பு மட்டும் |
எடுத்துக்காட்டு: வெவ்வேறு பதிப்பு விவரக்குறிப்புகள்
{
"dependencies": {
"express": "^2.8.1", // Any 2.x.x version (2.8.1 or higher)
"lodash": "~2.8.1", // Any 2.8.x version (2.8.1 or higher)
"moment": "2.8.1", // Exactly version 2.8.1
"axios": ">=2.8.1", // Version 2.8.1 or any higher version
"debug": "2.x" // Any version starting with 2
}
}
சார்புகளை நிறுவுதல்
ஒரு Node.js திட்டத்தில் சார்புகளை நிறுவ பல வழிகள் உள்ளன:
அனைத்து சார்புகளையும் நிறுவுதல்
npm install
இந்த கட்டளை package.json கோப்பைப் படித்து அங்கு பட்டியலிடப்பட்டுள்ள அனைத்து சார்புகளையும் நிறுவுகிறது.
குறிப்பிட்ட தொகுப்பை நிறுவுதல்
npm install express
இது தொகுப்பின் சமீபத்திய பதிப்பை நிறுவுகிறது மற்றும் அதை உங்கள் package.json இல் சார்புகளில் சேர்க்கிறது.
குறிப்பிட்ட பதிப்பை நிறுவுதல்
npm install express@4.17.1
package.json இல் சேமிக்காமல் நிறுவுதல்
npm install express --no-save
உலகளாவியமாக நிறுவுதல்
npm install -g nodemon
உலகளாவிய தொகுப்புகள் திட்டத்தின் node_modules அடைவில் இல்லாமல் கணினி முழுவதும் நிறுவப்படும்.
சார்புகளின் வகைகள்
Node.js திட்டங்கள் பல வகையான சார்புகளைக் கொண்டிருக்கலாம், ஒவ்வொன்றும் வெவ்வேறு நோக்கத்திற்காக உதவுகின்றன:
வழக்கமான சார்புகள்
npm install express --save
# or simply
npm install express
உற்பத்தியில் இயங்க உங்கள் பயன்பாட்டிற்குத் தேவையான தொகுப்புகள் இவை.
உருவாக்க சார்புகள்
npm install jest --save-dev
# or
npm install jest -D
இவை உள்ளூர் உருவாக்கம் மற்றும் சோதனைக்கு மட்டுமே தேவைப்படும் தொகுப்புகள், சோதனை கட்டமைப்புகள் அல்லது கட்டுமான கருவிகள் போன்றவை.
சக சார்புகள்
{
"name": "my-plugin",
"version": "1.0.0",
"peerDependencies": {
"react": "^17.0.0"
}
}
மற்ற தொகுப்புகளுடன் இணக்கத்தைக் குறிக்க package.json இல் குறிப்பிடப்பட்டது, உண்மையில் அவற்றைச் சேர்த்தல் இல்லாமல்.
விருப்ப சார்புகள்
npm install fancy-feature --save-optional
# or
npm install fancy-feature -O
இந்த தொகுப்புகள் செயல்பாட்டை மேம்படுத்துகின்றன, ஆனால் முக்கிய பயன்பாடு வேலை செய்ய தேவையில்லை.
உதவிக்குறிப்பு:
உற்பத்தியில் தேவைப்படும் தொகுப்புகளுக்கு சார்புகளைப் பயன்படுத்தவும், உருவாக்கம் அல்லது சோதனைக்கு மட்டுமே தேவைப்படும் தொகுப்புகளுக்கு devDependencies ஐப் பயன்படுத்தவும்.
தொகுப்பு பூட்டு கோப்புகள்
பூட்டு கோப்புகள் ஒவ்வொரு தொகுப்பின் சரியான பதிப்பு மற்றும் அதன் சார்புகளைப் பதிவு செய்வதன் மூலம் வெவ்வேறு சூழல்களில் சீரான நிறுவல்களை உறுதி செய்கின்றன.
package-lock.json (npm)
npm node_modules மரத்தை அல்லது package.json ஐ மாற்றும் போது இந்த கோப்பு தானாகவே உருவாக்கப்படும்.
{
"name": "my-app",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"node_modules/express": {
"version": "4.18.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1"
}
}
}
}
yarn.lock (Yarn)
Yarn இன் பூட்டு கோப்பு இதே போன்ற நோக்கத்திற்காக உதவுகிறது ஆனால் வெவ்வேறு வடிவத்தைக் கொண்டுள்ளது.
முக்கியமானது:
உங்கள் குழு மற்றும் விரிவாக்க சூழல்களில் சீரான நிறுவல்களை உறுதி செய்ய உங்கள் பூட்டு கோப்புகளை எப்போதும் பதிப்பு கட்டுப்பாட்டிற்கு அர்ப்பணிக்கவும்.
சார்புகளைப் புதுப்பித்தல்
காலாவதியான தொகுப்புகளைச் சரிபார்க்கவும்
npm outdated
குறிப்பிட்ட தொகுப்பைப் புதுப்பிக்கவும்
npm update express
அனைத்து தொகுப்புகளையும் புதுப்பிக்கவும்
npm update
npm ஐப் புதுப்பித்தல்
npm install -g npm@latest
npm-check-updates பயன்படுத்துதல்
புதுப்பிப்புகளில் அதிக கட்டுப்பாட்டிற்கு, நீங்கள் npm-check-updates தொகுப்பைப் பயன்படுத்தலாம்:
# Install npm-check-updates globally
npm install -g npm-check-updates
# Check for updates
ncu
# Update package.json
ncu -u
# Install updated packages
npm install
பாதுகாப்பு மற்றும் தணிக்கை
உங்கள் சார்புகளைத் தணிக்கை செய்யுங்கள்
npm audit
பாதுகாப்பு பாதிப்புகளை சரிசெய்யவும்
npm audit fix
அனைத்து சிக்கல்களையும் சரிசெய்யவும் (கவனத்துடன் பயன்படுத்தவும்)
npm audit fix --force
அறியப்பட்ட பாதிப்புகளைச் சரிபார்க்கவும்
npm audit
# Or using npx with the 'audit' package
npx audit
சிறந்த நடைமுறைகள்
பொதுவான சிக்கல்களைத் தீர்த்தல்
npm தற்காலிக சேமிப்பை அழித்தல்
npm cache clean --force
node_modules மற்றும் மறுநிறுவலை நீக்குதல்
rm -rf node_modules
rm package-lock.json
npm install
சக சார்பு சிக்கல்களைச் சரிபார்க்கிறது
npm ls
உடைந்த சார்புகளை சரிசெய்தல்
npm rebuild
சுருக்கம்
ஒரு ஆரோக்கியமான Node.js திட்டத்தை பராமரிக்க திறம்பட்ட சார்பு மேலாண்மை முக்கியமானது.
பாதுகாப்பு
வழக்கமான தணிக்கை மற்றும் புதுப்பிப்புகள்
நிலைத்தன்மை
சரியான பதிப்பு கட்டுப்பாடு மற்றும் பூட்டு கோப்புகள்
பராமரிப்பு
தொகுப்பு வகைகள் மற்றும் சிறந்த நடைமுறைகள்
புதுப்பித்தல்
தானியக்க புதுப்பிப்பு கருவிகள்
முக்கிய புள்ளிகள்:
- சார்பு மேலாண்மை ஆரோக்கியமான Node.js திட்டத்திற்கு முக்கியமானது
- செமான்டிக் பதிப்பு மேலாண்மையைப் புரிந்துகொள்ளுங்கள்
- வெவ்வேறு வகையான சார்புகளைப் பயன்படுத்துங்கள்
- பூட்டு கோப்புகளை எப்போதும் பதிப்பு கட்டுப்பாட்டில் வைக்கவும்
- பாதுகாப்பு பாதிப்புகளுக்காக உங்கள் சார்புகளை வழக்கமாகத் தணிக்கை செய்யுங்கள்
பயிற்சி
சரியான புலப் பெயரை தேர்ந்தெடுக்கவும்.
உருவாக்க சார்புகள் package.json இல் ______ கீழ் பட்டியலிடப்பட்டுள்ளன.