• 用yarn/npm管理依赖包的版本


    在package.json中基本上都是用^来锁定版本的,^只能锁定大版本,比如^2.6.1,只能确定安装的是>2.0.0,<2.9.9的,如果已经更新到了2.9.1版本,就会下载2.9.1版本。这样就会存在安装的版本和开发时版本不一致的问题,很可能其他同事的项目都没有问题,只有你的项目启动或者页面有奇怪的报错。

    为了解决这个问题 ,我们可以将npm 换成yarn

    mac安装yarn命令

    brew install yarn

    如果你在使用nvm,为了防止nvm对node的管理作用,安装时使用

    brew install yarn --without-node

    yarn install 会自动生成一个yarn.lock文件,其中声明了每个安装包现在安装的版本,以后在每次用yarn重新安装依赖的时候,都会优先下载yarn.lock中的版本。这样就能保证每个同事在同一个版本上开发了。

    那么如果我们要手动更新某个包的版本呢?比如package.json中element-ui的版本是^2.6.1,我们想使用2.9.1版本。

    执行命令:yarn upgrade element-ui@2.9.1 

    package.json中版本会指定2.9.1,并且yarn.lock也会更新,这样其他同事在开发的时候,重新执行下yarn install,就会更新到指定的版本了。

    当然,如果你还是想用npm完成锁定版本的功能,也是可以的,但是要使用5以上版本,并且npm install很慢,即使配置了淘宝源,还是很慢,所以我是放弃了。

    试了下cnpm install,发现并没有生成packgae-lock.json文件,在网上查资料,说是cnpm install并不会生成lock文件,并且,就算项目中有lock文件,cnpm也不会读取这个文件,只会按package.json下载,所以cnpm 并不支持版本锁定。当然这只是道听途说,如果有人试过了还请留言告诉我,在这我就偷个懒了。因为实在太慢了,cnpm install 也是经常socket hang up.

  • 相关阅读:
    ASP.NET在MVC控制器中获取Form表单值的方法
    MVC中几种常用ActionResult
    EF 配置MySQL
    HTTP 错误 403.6
    26个Jquery使用小技巧(转)
    Win2008R2配置WebDeploy(转)
    IIS快捷方式
    发布你的程序包到Nuget
    PostgreSQL recovery.conf恢复配置
    PostgreSQL 9.5 高可用、负载均衡和复制
  • 原文地址:https://www.cnblogs.com/lijianjian/p/11040279.html
Copyright © 2020-2023  润新知