我尝试以离线模式在项目中添加一个软件包(未发布)。
我在项目的yarnrc中配置了yarn-offline-mirror:
yarn-offline-mirror "./yarn-offline-mirror"
我手动修改package.json:
"dependencies": {
"@xxx/yyy": "1.0.0",
}
我打包好了包裹: 纱包-文件名@ xxx / yyy @ 1.0.0
我在项目的“ yarn-offline-mirror”文件夹中手动移动了软件包@ xxx / yyy @ 1.0.0。
我在我的项目中运行:
yarn install --offline
我获得了:
错误找不到“ @ xxx / yyy”的任何版本 匹配我们缓存中的“ 1.0.0”(可能的版本是 “”)。这通常是由于缺少 lockfile,运行不带--offline标志的Yarn可能有助于解决此问题 问题。
如果我在项目中(在线模式)发布并安装了@ xxx / yyy @ 1.0.0软件包,之后,我使用yarn-offline-mirror在离线模式下重新安装,就可以了。
但是我想打包并在我的项目中添加我的包@ xxx / yyy @ 1.0.0而不发布我的包(如果我没有Internet连接)。
答案 0 :(得分:0)
我很确定您已经遵循了blog,其中包含所有步骤。
我也遵循了它,有一个重要的点并不明显。
yarn-offline-mirro
基于yarn.lock
文件(运行yarn install
后会自动生成)。这是该过程中的关键相关点,并且在博客文章中并未很好地强调。
使用yarn install
在“在线”模式下像其他任何软件包一样安装软件包,您会看到.tgz
软件包在您的[off-line-folder]
中,那么您可以删除[node_modules]
您最终可以在项目文件夹中执行yarn cache clean
甚至使您脱机,但切勿删除yarn.lock
。
之后,yarn install --offline
应该会按预期工作。