npm 使用详解

一、简介

  • NPM是随同NodeJS一起安装的包管理工具
  • 从NPM服务器下载第三方包到本地使用
  • 从NPM服务器下载并安装别人编写的命令行程序到本地使用
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用
  • npm 由网站、注册表(registry)和命令行工具 (CLI)三部分组成:

网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。
注册表 是一个巨大的数据库,保存了每个包(package)的信息。
CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。

二、安装

  • 新版的nodejs已经集成了npm,测试安装
npm -v
  • 升级
$ sudo npm install npm -g
  • windows 安装
npm install npm -g
  • 淘宝镜像
cnpm install npm -g

三、使用

3.1 包管理

  • 安装包
npm install 
npm install express          # 本地安装
npm install express -g   # 全局安装

包会安装在./node_modules 下,然后就可以require

// index.js
var lodash = require('lodash');
 
var output = lodash.without([1, 2, 3], 1);
console.log(output);

常见错误:

Error: Cannot find module 'lodash'
可以在 index.js 所在的目录中运行 npm install lodash 命令来修复
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
运行 npm config set proxy null

  • 查看全局
npm list -g

3.2 使用 package.json

package.json 管理本地安装的npm 包

  • CLI 创建
//npm init
npm init --yes //创建默认的,--y同--yes
  • name和version 必须的参数
{
  "name": "my-awesome-package",
  "version": "1.0.0"
}
{
  "name": "my_package",
  "description": "",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/ashleygwilliams/my_package.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/ashleygwilliams/my_package/issues"
  },
  "homepage": "https://github.com/ashleygwilliams/my_package"
}

参数含义
name: the current directory name
version: always 1.0.0
description: info from the readme, or an empty string ""
main: always index.js

scripts: by default creates an empty test script
keywords: empty
author: empty
license: ISC
bugs: info from the current directory, if present
homepage: info from the current directory, if present

  • 在初始命令中分别设置
> npm set init.author.email "[email protected]"
> npm set init.author.name "ag_dubs"
> npm set init.license "MIT"
  • 指定依赖项
    "dependencies": 生产需要的包
    "devDependencies":开发测试需要的包
{
  "name": "my_package",
  "version": "1.0.0",
  "dependencies": {
    "my_dep": "^1.0.0"
  },
  "devDependencies" : {
    "my_test_framework": "^3.1.0"
  }
}
  • --save and --save-dev install flags
    同上

3.3 更新依赖包

  • npm update
  • npm outdate

3.4 卸载本地包

  • 删除 node_modules 目录下面的包(package)
npm uninstall 
  • 从 package.json 文件中删除依赖
npm uninstall --save 
npm uninstall --save-dev 

注:以上操作加-g 为全局操作


官方中文文档

你可能感兴趣的:(npm 使用详解)