تفاوت نصب یک پکیج بصورت local و global

تفاوت نصب یک پکیج بصورت local و global

 

هر پکیجی که بعنوان نیازمندی پروژه نصب می‌شود، از نظر محدوده(scope) نصب و استفاده دو حالت می‌تواند داشته باشد:

· local باشد: یعنی تنها در دایرکتوری پروژه نصب شود. (که البته حالت پیش‌فرض هم همین است. برای این که ببینیم چه پکیج‌هایی در دایرکتوری فعلی‌مان نصب شده‌اند، می‌توانیم دستور npm list را اجرا کنیم.) این نوع پکیج‌ها در دایرکتوری node_modules پروژه ذخیره می‌شوند.

· global باشد: یعنی در سیستم نصب شود و همه پروژه‌ها در هر مسیری از سیستم که هستند، بتوانند از آن استفاده کنند. برای نصب یک پکیج بصورت global لازم است گزینه g- را به npm install مان بدهیم. یادمان باشد که برای این کار، باید دسترسی sudo داشته باشیم. همینطور خوب است بدانیم که پکیج‌های گلوبال در سیستم‌عامل‌های مختلف، در آدرس‌های زیر ذخیره می‌شوند:

در سیستم‌عامل‌های unix based (مثلاً mac و linux) در آدرس:

/usr/local/lib/node

و یا آدرس

/usr/local/lib/node_modules

و در سیستم‌عامل ویندوز در آدرس:

 %USERPROFILE%\AppData\Roaming\npm\node_modules

از آنجایی که ممکن است پروژه‌های مختلف روی سیستم، از ورژن‌های مختلف یک پکیج استفاده کنند، در کل بهتر است پکیج‌ها را بصورت لوکال نصب کنیم تا مشکلی از این بابت ایجاد نشود. در غیر اینصورت برای مدیریت تداخل نسخه ها، نیاز به ابزار nvm (node version manager) خواهیم داشت. (در این آدرس می توانید درباره nvm بیشتر بخوانید: https://www.keycdn.com/blog/node-version-manager)

در مقابل بهتر است پکیج هایی را که external command در اختیار قرار می‌دهند بصورت global نصب کنیم، مثل CLI ها. مثلاً بهتر است چنین پکیج‌هایی بصورت گلوبال نصب شوند:

npm، create-react-app، @vue/cli، grunt-cli، mocha، react-native-cli، gatsby-cli، forever، nodemon و ...

 

در قسمت بعد، با انواع نیازمندی ها در npm آشنا خواهیم شد...

1-1
NPM چیست و چه کاری انجام می دهد؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۶/۳۰
1-2
دستور npm init و ایجاد یک پروژه بر اساس npm
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۶/۳۱
1-3
وقتی یک پکیج npm را در پروژه نصب می کنیم، چه اتفاقی می افتد؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۰۱
1-4
تفاوت نصب یک پکیج بصورت local و global
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۰۲
1-5
پکیج npm را بصورت dependency نصب کنیم یا devDependency؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۰۵
1-6
نسخه بندی در npm
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۰۶
1-7
فایل package-lock.json چیست و چه کاری انجام می دهد؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۰۷
1-8
npm نیازمندی های تکراری در پروژه را چگونه مدیریت میکند؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۰۸
1-9
با مراجعه به صفحه اصلی یک پکیج در سایت npm چه اطلاعاتی بدست می آوریم؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۱۲
1-10
publish کردن پکیج در npm
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۱۵
1-11
کار با اسکریپت های npm
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۱۷
1-12
نکات تکمیلی درباره npm scripting
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۲۰
1-13
دستور npx چه کاری انجام می دهد؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۲۱
1-14
دستور npm audit چه کاربردی دارد؟
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۲۸
1-15
برخی دستورات کاربردی در npm
تیم تولید محتوای سکان آکادمی
۱۳۹۹/۰۷/۲۹
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: