一定要好好理解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)