使用yarn离线方式打包安装Node包

Bat*_*lle 4 offline node.js yarnpkg

我尝试以离线模式在我的项目中添加一个包(未发布)。


我在项目的yarnrc中配置了yarn-offline-mirror:

yarn-offline-mirror "./yarn-offline-mirror"
Run Code Online (Sandbox Code Playgroud)

我手动修改 package.json :

 "dependencies": {
        "@xxx/yyy": "1.0.0",
 }
Run Code Online (Sandbox Code Playgroud)

我打包了我的包裹:yarn pack --filename @xxx/yyy@1.0.0

我手动将包 @xxx/yyy@1.0.0 移动到项目的文件夹“yarn-offline-mirror”中。


我在我的项目中运行:

yarn install --offline
Run Code Online (Sandbox Code Playgroud)

我得到:

错误 在我们的缓存中找不到与“1.0.0”匹配的“@xxx/yyy”的任何版本(可能的版本是“”)。这通常是由于锁定文件中缺少条目引起的,运行不带 --offline 标志的 Yarn 可能有助于解决此问题。


如果我在我的项目中发布并安装我的包@xxx/yyy@1.0.0(在线模式),然后,我使用yarn-offline-mirror以离线模式重新安装,它就可以工作。

但我想在我的项目中打包并添加我的包@xxx/yyy@1.0.0,而不发布我的包(在我没有互联网连接的情况下)。

Mar*_*ket 5

我很确定您已按照包含所有步骤的博客进行操作。我也跟着看了,有一个重要的地方不明显。它yarn-offline-mirro基于yarn.lock文件(运行后自动生成yarn install)。这是该过程中的关键相关点,但在博客文章中没有得到很好的强调。

像“在线”模式下的任何其他包一样安装您的包,您yarn install将看到这些包.tgz位于您的. 之后,应该按预期工作。[off-line-folder][node_modules]yarn cache cleanyarn.lockyarn install --offline