zoukankan      html  css  js  c++  java
  • npm 加速之 yarn cnpm pnpm

    npm 加速之 yarn cnpm pnpm

    有没有感觉到使用 npm 的时候很慢? 安装速度 几Kb/s 不说, 还装着装着出错了, 奇奇怪怪的问题.
    这种情况大多数还是因为网络的原因, 很多时候虽然 没有直接提示超时 , 但还是可能由于网络原因导致的不能正常提示, 比如断断续续的下载导致安装脚本不完整.

    告别龟速一般有几种途径:

    使用国内镜像 - 网速优化

    所谓国内镜像, 简单来说就是把国外的资源复制一份到国内, 下载的时候从国内下载.

    比较常用的的淘宝镜像, 可能用如下命令配置 npm 的镜像:
    npm config set registry=https://registry.npm.taobao.org
    之后安装工具就会明显快得很多.

    如果需要管理多个镜像地址, 可以使用 nrm

    $ nrm ls  # 查看所有镜像源, 带 * 号的是正在使用的
    * npm ---- https://registry.npmjs.org/
      cnpm --- http://r.cnpmjs.org/
      nj ----- https://registry.nodejitsu.com/
      npmMirror  https://skimdb.npmjs.com/registry/
      edunpm - http://registry.enpmjs.org/
    
    $ nrm add taobao https://registry.npm.taobao.org/ # 添加镜像源
    $ nrm use taobao # 切换镜像源为淘宝
    $ nrm test taobao # 查看淘宝镜像的连接速度
    

    使用缓存, 多线程, 锁… - 本地优化

    一开始 npm 的依赖管理方式以及安装方式受到不少人的不满, 比如:
    深层嵌套, 这会在一些对目录长度有限制的系统上出现问题.
    不确定性, 安装时默认会升级小版本, 但很多软件小版本升级也不兼容, 导致重新安装时程序出错.

    一些大厂或大牛视图解决类似问题, 开发了其他的管理器, 如 yarn cnpm pnpm ... , 但常用的就 yarn cnpm .

    yarn 主要有以下特性:

    • 离线模式, 如果您以前安装过软件包,则可以在没有Internet连接的情况下再次安装它。
    • 确定性的, 无论安装顺序如何,都将以完全相同的方式在所有计算机上安装相同的依赖项。
    • 网络性能, 可以有效地对请求进行排队,并避免请求瀑布,以最大程度地利用网络。
    • 网络弹性, 失败的单个请求不会导致整个安装失败。失败时将自动重试请求。
    • 平面模式, 将不匹配的依赖项版本解析为单个版本,以避免创建重复项。

    yarn 与 npm 的使用命令有一些不同:

    npmyarn
    npm i yarn
    npm i react -S yarn add react
    npm un react -S yarn remove react
    npm i react -D yarn add react -D
    npm update -S yarn upgrade

    cnpm 主要有以下特性:

    • 自带淘宝镜像
    • 简化安装信息
    • 与 npm 一致的命令

    注意

    yarn:

    • 使用方式不同, 别搞错
    • 由于使用多线程, 在内存小的计算机上安装时, 安装途中会被 kill 掉

    npm:

    • 由于第三方的压力, npm 也进行了很多改进
    • 发布自己的工具时, 建议使用 npm

    扩展阅读

    yarn: https://github.com/yarnpkg/yarn
    cnpm: https://github.com/cnpm/cnpm
    pnpm: https://github.com/pnpm/pnpm

    文章来源

    注: 本文来源于微信公众号 【乐玩nodejs npm工具库】。

  • 相关阅读:
    坚决不再犯的脑残错误
    2018.8.21提高A&省选组模拟考试
    2018.10.9模拟考试
    fread()快读
    2018.10.6模拟考试
    2018.10.4模拟考试
    2018.8.20提高AB组模拟考试
    2018.8.21提高AB组模拟考试
    2018.8.19提高B组模拟考试
    2018.8.18提高B组模拟试题
  • 原文地址:https://www.cnblogs.com/daysme/p/11908471.html
Copyright © 2011-2022 走看看