Fork me on GitHub

معرفی و نصب NPM

npm برای مدیریت پکیج های nodejs استفاده میشه. اکثر ماژول هایی که برای ند نوشته می شوند برای سهولت استفاده در npm ثبت می شوند و می تونید با استفاده از یک دستور ساده این ماژول ها رو به پروژه های خودتون اضافه کنید و به عبارت دیگه وابستگی های پروژه های خودتون رو مدیریت کنید. طریقه نصب و کار با npm در ادامه مطلب شرح داده شده.

نصب npm

ساده ترین راه ممکن برای نصب یک برنامه رو می تونید در اینجا ببینید!

curl http://npmjs.org/install.sh | sh

اگر از سیستم عامل ویندوز استفاده می کنید یا مشکل دیگه ای وجود داره، می تونید سورس کد npm رو بگیرید و از طریق دستور make install برنامه رو نصب کنید.

البته راه های دیگه ای هم برای نصب npm بدون استفاده از git و curl وجود داره. این راه ها به همراه اطلاعات دیگه ای در مورد نصب از جمله تنظیم دسترسی ها و ... در readme خود npm ذکر شده که می تونید مطالعه کنید.

یک نکته مهم اینکه از sudo برای نصب استفاده نکنید! هر ماژول می تونه موقع نصب script هایی رو اجرا کنه و اگر npm به عنوان یک sudoer نصب بشه از لحاظ امنیتی ریسک بالایی هست.

آقای فرهادی تذکری دادند که کاملاً به جاست:

ظاهراً از نسخه 0.3 به بعد توصیه شده که از sudo برای نصب npm استفاده بشه:

As of version 0.3, it is recommended to run npm as root. This allows npm to change the user identifier to the nobody user prior to running any package build or test commands.

بنابراین بهتره که برای نصب npm از این دستور استفاده کنیم:

$ curl http://npmjs.org/install.sh | sudo sh

استفاده از npm

ساده ترین کاربرد npm نصب ماژول های مختلفی هست که در یک پروژه بهشون نیاز دارید:

$ npm install express

که دستور بالا ماژول express رو داخل دایرکتوری کنونی نصب می کنه به طوری که از طریق دستور require در ند قابل استفاده باشه:

var express = require('express');

کاربرد مهمتر، استفاده از npm برای مدیریت وابستگی ها و همچنین منتشر کردن ماژول هایی هست که خودتون می نویسید و می خواهید برنامه نویسان دیگه براحتی از اونها استفاده کنند.

در دایرکتوری ریشه پروژه ای که در دست دارید فایلی با نام package.json ایجاد کنید. محتوای این فایل توسط npm پردازش می شه و اقدامات لازم صورت می گیره. یک نمونه از محتوای این فایل رو در زیر مشاهده می کنید:

{
  "name": "connect",
  "version": "1.4.0",
  "description": "High performance middleware framework",
  "keywords": ["framework", "web", "middleware", "connect", "rack"],
  "repository": "git://github.com/senchalabs/connect.git",
  "author": "TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)",
  "repository": "git://github.com/senchalabs/connect",
  "dependencies": {
    "qs": ">= 0.0.6",
    "mime": ">= 0.0.1"
  },
  "main": "index",
  "engines": { "node": ">= 0.4.1 < 0.5.0" }
}

مهمترین قسمت این فایل برای ما بخش dependencies هست. وقتی npm این فایل رو پردازش می کنه تمام ماژول هایی که در این قسمت ذکر شده اند رو نصب می کنه. درست مثل اینکه برای هر کدوم از این ماژول ها دستور npm install رو اجرا کرده باشیم.

بقیه اطلاعات معمولاً برای انتشار دادن ماژول هایی که می نویسید مورد استفاده قرار می گیرند. می تونید با دستور npm help json‍ اطلاعات کاملی در اینباره دریافت کنید.

برای انتشار ماژول های خودتون لازمه یک حساب کاربری در npm ایجاد کنید:

$ npm adduser
Then enter stuff at the prompts

حالا کافیه داخل دایرکتوری ریشه پروژه مورد نظرتون از دستور زیر استفاده کنید.

$ npm publish

حالا ماژول یا برنامه شما روی npm وجود داره و بقیه می تونن ازش استفاده کنند. برای اطمینان می تونید در سایت http://npmjs.org مشخصات ماژول خودتون رو جستجو کنید!