npm

一定要好好理解NPM运作的原理,搞清楚相关命令的使用

版本管理

npm 采用语义版本管理软件包。所谓语义版本,就是指版本号为a.b.c的形式,其中a是大版本号,b是小版本号,c是补丁号。

一个软件发布的时候,默认就是1.0.0版。

如果以后发布补丁,就增加最后一位数字,比如1.0.1

如果增加新功能,且不影响原有的功能,就增加中间的数字(即小版本号),比如1.1.0

如果引入的变化,破坏了向后兼容性,就增加第一位数字(即大版本号),比如2.0.0

npm 允许使用特殊符号,指定所要使用的版本范围,假定当前版本是1.0.4

  • 只接受补丁包:1.0 或者 1.0.x 或者 ~1.0.4
  • 只接受小版本和补丁包:1 或者 1.x 或者 ^1.0.4
  • 接受所有更新:* or x
~2.2.1 // 接受2.2.1,不接受2.3.0
^2.2.1 // 接受2.2.1和2.3.0

~2.2 // 接受2.2.0和2.2.1,不接受2.3.0
^2.2 // 接受2.2.0、2.2.1和2.3.0

~2 // 接受2.0.0、2.1.0、2.2.0、2.2.1和2.3.0
^2 // 接受2.0.0、2.1.0、2.2.0、2.2.1和2.3.0



相关命令

1.npm install <package>

安装此package及其dependency在本地的node_modules目录中, 并且将其package name加入到当前项目的package.json文件中的"dependencies"块中.

比如 npm install ng2-signalr

 "dependencies": {
    "@angular/common": "2.2.1",
    "@angular/compiler": "2.2.1",
    "@angular/core": "2.2.1",
    "@angular/forms": "2.2.1",
    "@angular/http": "2.2.1",
    "@angular/platform-browser": "2.2.1",
    "@angular/platform-browser-dynamic": "2.2.1",
    "@angular/router": "3.2.1",
    "bootstrap": "^3.3.7",
    "core-js": "^2.4.1",
    "d3-ng2-service": "^1.4.0",
    "ng2-signalr": "^1.0.9",
    "rxjs": "5.0.0-beta.12",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.6.23"
  },
 
 
NPM-Check-Update(ncu)
原文地址:https://www.cnblogs.com/askdong/p/6635771.html