最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • npm & yarn 锁定依赖 - 掘金

    正文概述 掘金(lankongclub)   2021-11-03   752

    「这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战」

    前言

    项目安装了依赖A,依赖A安装了依赖B。

    依赖B不干了(有新版本 || 提桶了)之后,新安装项目设备安装依赖,发现依赖A出问题了。

    而且啊,如果我们用自动化部署,那么每次部署都相当于重新装依赖

    为了规避上面的问题,我们需要固定住依赖

    一些预备点

    1. package.json 中版本
    2. npm 发布依赖
    3. npm 查看依赖信息
    4. 更改依赖源

    package.json 中版本

    不同的依赖包信息的表达方式,对应不同的装包情况。根据自身需求选择合理表达方式,默认装包会选择下面第一种

    package.json
    {
        "dependencies": {
            "lan-test-package1": "^1.0.0",
            "lan-test-package2": "~1.0.0",
            "lan-test-package3": "1.0.0",
        },
     }
    

    "lan-test-package1": "^1.0.0"

    安装 lan-test-package1 1.x.x 最新的包

    "lan-test-package2": "!1.0.0"

    安装 lan-test-package2 1.0.x 最新的包

    "lan-test-package3": "1.0.0"

    安装 lan-test-package3 1.0.0 的包

    npm 发布依赖流程

    1. 当需要的时候可以自己发布依赖
    2. 了解发包过程,可以解释一些依赖报错的原因

    拥有 npm 账号

    www.npmjs.com/

    访问npm 官网进行注册

    npm & yarn 锁定依赖 - 掘金

    本地搭建项目

    本地搭建项目可以利用现有的脚手架也可以使用 npm init 初始化项目

    本地登录账号,发布包

    npm adduser
    npm login
    

    这两个命令字面意思。一般我们没有使用过 npm 管理自己的依赖的需要添加用户。要我们输入账号名密码和邮箱,邮箱一般会用来通知依赖的更新等信息

    npm publish
    

    这个是发布的命令,在项目的根路径上执行。会根据我们的 package.json 文件执行。

    需要注意的是每次我们更新包都需要更改版本号,如果是和之前一样的版本号会导致发布失败。发布成功之后会有一条邮件到我们之前的验证邮箱通知我们。

    npm 查看依赖相关信息

    依赖详细信息

    npm info vue
    

    npm & yarn 锁定依赖 - 掘金

    npm info vue@next
    

    npm & yarn 锁定依赖 - 掘金

    上面两个查看命令分别查看 vue 和 vue@next 版本信息

    依赖版本列表

    npm view element-ui versions
    

    npm & yarn 锁定依赖 - 掘金

    npm view element-plus versions
    

    npm & yarn 锁定依赖 - 掘金

    上面两个命令分别查看 element-ui 和 element-plus 的版本号列表。

    依赖最新版本

    npm view ant-design-vue version
    

    1.7.8

    npm view ant-design-vue@next version
    

    2.2.7

    npm & cnpm

    查看依赖源

    npm config get registry
    

    registry.npmjs.org/

    cnpm config get registry
    

    registry.npm.taobao.org/

    更改依赖源

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

    这里将 npm 的依赖源更改成了淘宝镜像的源,但是并不推荐这种用法。建议需要使用国内镜像的时候使用 cnpm 安装依赖,npm 还是保持着自己的官方源,是登录 npm 必要条件

    正题 姗姗来迟,固定依赖

    package.json 中固定版本

        "module1": "1.0.0"
    

    我们可以保证安装的依赖是我们指定版本的,但是不能保存依赖的依赖的版本

    npm -- package-lock.json

    npm install
    

    用 npm 安装依赖,根目录会生成一个 pageage-lock.json,里面是项目版本锁定信息

    yarn -- yarn.lock

    yarn install
    

    项目使用 yarn 安装依赖之后,根目录会生成一个 yarn.lock 文件,里面是项目版本锁定的信息

    小结

    1. 发布npm,需要用npm自己的源。但是呢,npm 的源安装依赖速度不行。所以我想这就是很多人使用 yarn 安装依赖的原因

    2. cnpm i 不过package-lock.json,会根据 package.json 来安装。如果cnpm 过 package-lock.json 的话,那我就不用 yarn 了

    3. 项目的最终形式是:项目的 package.json 依赖用 1.0.0 形式固定 + lock方案

    4. 理解这个问题的最好方式是自己创建两个依赖,还原一下场景~

    5. 哦哦,还有提桶的事。这个是固定版本解决不了的问题的,只能等有同学安装新项目之后报告问题,考虑更新依赖或者换一个用


    起源地下载网 » npm & yarn 锁定依赖 - 掘金

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元