npm vs yarn vs pnpm में अंतर
In this page:
एक Package Manager क्या करता है
npm, yarn, और pnpm सभी एक ही core job करते हैं: dependencies की एक list पढ़ना और सही package versions को आपके project में download करना। वे मुख्य रूप से speed, disk usage, और lockfile format में अलग हैं।
उदाहरण: What a Package Manager Does
npm install react
yarn add react
pnpm add react
# all three fetch the same package from the npm registry
⚠️ Run this in your own terminal or Node.js environment.
Key Command Differences
रोज़ाना के commands tools के across closely map होते हैं: एक package install करना npm install pkg, yarn add pkg, या pnpm add pkg है; एक script run करना npm run dev, yarn dev, या pnpm dev है।
उदाहरण: Key Command Differences
Task npm yarn pnpm
Install all npm install yarn pnpm install
Add package npm install x yarn add x pnpm add x
Run a script npm run dev yarn dev pnpm dev
⚠️ Run this in your own terminal or Node.js environment.
pnpm Disk Space क्यों बचाता है
pnpm हर package version की एक copy disk पर store करता है और इसे हर project में link करता है जिसे इसकी ज़रूरत है, हर project के लिए node_modules को duplicate करने के बजाय जैसे npm और yarn classically करते हैं। यह कई projects के across significant disk space बचा सकता है।
उदाहरण: Why pnpm Saves Disk Space
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/react@18/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
function DiskSpaceDemo() {
return (
<div>
<p style={{background: '#e57373', width: '260px', padding: '8px', color: '#fff'}}>
npm/yarn: full copy of react in every project
</p>
<p style={{background: '#81c784', width: '90px', padding: '8px', color: '#fff'}}>
pnpm: linked
</p>
</div>
);
}
ReactDOM.createRoot(document.getElementById('root')).render(<DiskSpaceDemo />);
</script>
</body>
</html>
- एक ही project में अलग-अलग package managers से lock files mix करना (जैसे दोनों package-lock.json और yarn.lock)।
- यह मान लेना कि तीनों package managers dependencies को identically install करते हैं -- उनकी resolution strategies अलग हो सकती हैं।
- Lock file commit न करना, जो machines के across inconsistent installs का कारण बनता है।
- npm Node.js के साथ ship होता है और ज़्यादातर projects के लिए default choice है।
- yarn faster installs offer करता है और npm का एक early alternative था।
- pnpm symlinks के ज़रिए projects के across packages share करके disk space बचाता है।
- एक project में एक package manager चुनें और consistently इसके साथ रहें।
Applicable नहीं -- package managers development-time tools हैं।
Chapter Quiz — Complete all 10 topics to unlock
0/10 topics done
Complete these topics first: