npm、cnpm与package-lock.json的操作

  1. package.json文件只能锁定大版本,也就是版本号的第一位,并不能锁定后面的小版本,在npm 5时添加package-lock.json。
  2. npm i会根据package-lock.json里的内容来处理和安装依赖而不是package.json。
  3. cnpm i不受package-lock.json影响,只会根据package.json进行下载。
  4. npm i 会生成package-lock.json,如果删除了,再重新npm i会生成package-lock.json。
  5. cnpm i是不会生成package-lock.json的。
  6. cnpm i xxx@xxx不会跟新到package-lock.json中去。
  7. npm i xxx@xxx会跟新到package-lock.json中去。
"dependencies": {
    
    
  "bluebird": "^3.3.4",
  "body-parser": "~1.15.2"
}

bluebird的版本号:^3.3.4
body-parse的版本号:~1.15.2
8. 库的版本号详解(^和~区别)

  • 波浪符号(~):他会更新到当前minor version(也就是中间的那位数字)中最新的版本。放到我们的例子中就是:body-parser:~1.15.2,这个库会去匹配更新到1.15.x的最新版本,如果出了一个新的版本为1.16.0,则不会自动升级。波浪符号是曾经npm安装时候的默认符号,现在已经变为了插入符号。

  • 插入符号(^):这个符号就显得非常的灵活了,他将会把当前库的版本更新到当前major version(也就是第一位数字)中最新的版本。放到我们的例子中就是:bluebird:^3.3.4,这个库会去匹配3.x.x中最新的版本,但是他不会自动更新到4.0.0。

补充

配置以后所有的npm install 都会默认通过淘宝服务器来下载。

npm config set registry https://registry.npm.taobao.org

查看npm的配置信息:

npm config list

猜你喜欢

转载自blog.csdn.net/qq_24504591/article/details/100134272