Linux 下离线安装 yarn 和配置离线存储库
yarn是Facebook团队开发的快速、可靠、安全的依赖管理工具。相比于npm包管理工具,yarn的离线模式更适用于在没有网络链接的情况下进行项目依赖安装及构建。
优势
极其快速
Yarn 会缓存它下载的每个包,所以无需重复下载。它还能并行化操作以最大化资源利用率,安装速度之快前所未有。特别安全
Yarn会在每个安装包被执行前校验其完整性。超级可靠
Yarn 使用格式详尽而又简洁的 lockfile文件 和确定性算法来安装依赖,能够保证在一个系统上的运行的安装过程也会以同样的方式运行在其他系统上。
特点
离线模式
如果你之前安装过某个包,你就可以在没有网络连接的情况下再次安装它。确定性
不管是什么顺序,在不同的机器上的依赖会以同一方式安装。网络性能
Yarn可以高效地队列化请求并且避免请求瀑布化,使网络利用率最大化。相同的软件包
从 npm 安装软件包并使用相同的包管理流程。网络适应
单个请求失败不会导致安装失败,请求失败时会重试。扁平模式
解析不匹配的依赖版本为一个单一的版本来避免导致多个版本。
安装yarn
-
从官网下载源码包并上传到目标服务器
scp -r ~/Downloads/yarn-v1.12.3.tar.gz user@host:path
-
解压程序包到目标目录
tar zvxf yarn-v1.12.3.tar.gz -C /opt
-
设置环境变量vim /etc/profile,将下面代码添加到文件最后
export NODEJS_HOME=/opt/yarn-v1.12.3/bin export PATH=$NODEJS_HOME:$PATH
-
刷新文件配置
. /etc/profile
-
运行命令来测试 Yarn 是否安装:
yarn --version
配置离线镜像
首先我们需要设置一个目录作为我们的“离线镜像”存储,我们可以使用yarn config命令:
yarn config set yarn-offline-mirror ./npm-packages-offline-cache
./npm-packages-offline-cache是相对于主文件夹的示例位置,其中所有source.tar.gz文件将从注册表下载。
脱机镜像不会删除tar包。为了使缓存文件夹保持最新,您需要将以下内容添加到配置文件中:
yarn config set yarn-offline-mirror-pruning true
如何测试以确保它处于脱机状态?
- 使用“yarn cache clean”清除全局缓存
- 关掉wifi
- 运行“yarn install -offline”。离线标志将确保yarn不会到达网络
简而言之,要为您的项目启用“离线镜像”,您需要:
- 将“yarn-offline-mirror”配置添加到.yarnrc文件中
- 使用“yarn install”命令生成一个新的yarn.lock
推荐阅读
-
基于 NFC 的无线电池管理 BMS - ● 主动读取内部传感器:利用 NFC 技术,BMS 能够主动读取内部传感器的数据 [... 考虑车辆外使用案例中的空闲状态场景:NFC 技术可用于处理闲置状态下的电池组读取,例如在第二次生命转移期间进行存储。 主动诊断读取:在邻近系统中部署了 BMS 的情况下,使用 NFC 技术进行主动诊断读取。 (ii) 系统结构 系统架构如图所示,在建立安全通道之前,需要对设备进行身份验证。数据链路通信层由 NDEF 记录处理,而数据存储可以是离线的,也可以是数据库中的在线存储。活动和空闲状态的诊断读数取决于设备和数据方向,需要与外部 NFC 阅读器进行通信。软件架构分为三层,包括硬件抽象层(HAL)、中间层(中间件)和应用层。HAL 处理硬件驱动组件,中间件执行设备验证,而应用层则由开发人员根据安全漏洞和格式扩展*定义。 为确保安全,系统采用了一个安全模型,为 BMS 和主动诊断读取情况格式化应用数据。安全考虑因素包括设备相互验证、使用安全通道(加密和防篡改)以及确保电池组内读数的安全。 考虑到不同的 BMS 拓扑,包括集中式、调制式、分布式和分散式,系统需要满足设备相互验证和使用安全通道的要求。对于每种拓扑结构,都必须考虑将性能开销降至最低。电池是封闭的,对其进行物理攻击不可行或成本太高。外部攻击可能也很困难。基于对称或非对称加密技术的自动验证可用于保护电池组读数。安全协议在验证阶段和会话密钥确认阶段采用双密钥加密,以抵御攻击。中间件在数据格式验证、确认和处理中发挥关键作用,确保数据传输安全。 (iii) 唤醒模型设计
-
Linux 下离线安装 yarn 和配置离线存储库