yarn安装插件导致yarn.lock出现相对路径报错

·  阅读 114

由于在安装新的插件时候,本地开发环境中使用的npm/cnpm的方式去安装插件,安装和运行过程中,没有出现问题。但是由于要推送到docker服务器上,却推送失败。查看了下,在推送的过程中使用了yarn 指令去更新和安装插件,报错信息为9 6.457 error "node_modules/_file-saver@2.0.5@file-saver": Tarball is not in network and can not be located in cache (["/app/node_modules/_file-saver@2.0.5@file-saver","/usr/local/share/.cache/yarn/v6/npm-file-saver-2.0.5/node_modules/file-saver/.yarn-tarball.tgz"]) ,查看了git上的yarn.lock 文件发现resolved上的路径使用的是相对路径,因此才导致推送的时候,找不到对应插件而报错,因此删除yarn.lock对应错误的数据,重新通过yarn 指令去更新对应的包可以就解决,对应的yarn.lock文件也会同时更新。后期项目插件新增更新,需要注意yarn.lock文件是否正常

1648352393(1).png

1、yarn 和 npm

  • 这两个都是包管理器,只是yarn使用了并行安装,安装速度比较快,输出信息比较简洁,且对应有个yarn.lock文件,可以保证安装版本的统一性。而npm 包主要是按队列安装,需要等当前的包安装完了,才可以安装其他的,这样安装效率比较慢,而且npm输出的信息比较冗余,npm5以后也有有了package-lock.json文件。
  • 对应常用指令:
npm yarn npm init                                 yarn init // 初始化 
npm i | install                                   yarn (install) // 安装依赖包 
npm i x --S | --save                              yarn add x // 安装生产依赖并保存包名 
npm i x --D | --save-dev                          yarn add x -D // 安装开发依赖并保存包名 
npm un | uninstall x                              yarn remove // 删除依赖包 
npm i -g | npm -g i x                             yarn global add x // 全局安装 
npm un -g x                                       yarn global remove x // 全局删除 
npm run dev                                       yarn dev | run dev // 运行命令
复制代码

2、便于管理window下管理node多版本

  • 原因在家里电脑测试能否重现问题,发现无法重现,且对应yarn安装,只是node版本不一样而已。
  • windows电脑安装多版本的node,需要下载nvmw,通过这个直接可以管理多个版本的node。

下载好后,查看对应的nvmw安装路径: image.png

  • 设置环境变量,环境路径为

image.png

  • 通过nvmw switch v14.0.0指令可以永久去更改版本,重新打开cmd窗口,会出现默认版本都是v14.0.0的版本,输入path 可以看到指令设置的环境变量为C:\Users\40485\nvmw\nodejs\v14.0.0;。如果需要返回原先版本,需要执行nvmw switch-deactivate,然后重新打开窗口,查看对应的node版本恢复正常版本。

常用指令如下:

    install <version>      install the given version of Node
    uninstall <version>    uninstall the given version of Node
    use <version>          use the given version of Node in current shell
    deactivate             undo effects of nvmw in current shell
    switch <version>       permanently use the given version of Node as default
    switch-deactivate      permanently undo effects of nvmw
    ls                     list the installed all Nodes
    ls-remote              list remote versions available for install
    cleanup                remove stale local caches

复制代码

使用案列:

    nvmw ls
    nvmw install v14.0.0
    nvmw use v14.0.0
    nvmw switch v14.0.0
    node -v
复制代码

安装后,查看当前系统已有的node版本:

image.png

分类:
前端
标签:
分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改