在离线计算机上创建 NPM 注册表的副本?

2023-12-31

所以我需要在独立网络上的独立盒子上进行一些新的 Web 开发。该独立网络无法访问互联网,但其上有相当多的计算机在 Windows Server 环境中运行。

我有一台可访问互联网的计算机,可以使用它下载节点并获取软件包,但我需要能够将软件包全部传输到独立计算机。

最好的方法是什么?我读过一些关于在本地计算机上复制注册表以便缓存它的文档,但是我如何获取该缓存并通过 USB 将其移植到这个独立网络?

还有其他方法可以处理这个问题吗?

之前在另一个项目中,我们使用 Verdaccio 建立了自己的私有 npm 存储库,并将我们自己的 npm 模块发布到该存储库。我可以轻松地进行设置,然后移植节点模块的 tar 或 zip 文件并以这种方式发布它们。但问题又来了,如何获得我需要的大量节点包?

我需要知道的主要事情是复制所有模块后如何获取本地缓存的 npm 注册表并将其设置在独立计算机上。我可以在互联网上完成所有这些操作,但是如何在服务器上传输和复制所有内容?


我也有同样的问题。

我安装并使用verdaccio并解决了我的问题。

谢谢胡安·皮卡多 https://stackoverflow.com/users/308341/juan-picado

你需要的是cache正确存储文件夹中的所有依赖项。

see 在这里如何找到它 https://verdaccio.org/docs/en/cli#default-storage-location

(e.g in windows 8.1: C:\Users\xxx\AppData\Roaming\npm-cache)

您应该能够在缓存中看到所有已解析的依赖项。

然后设置Environment variable姓名:XDG_DATA_HOME在以下路径中:

  1. 右键单击我的电脑
  2. 单击属性。
  3. 从左侧面板中,单击Advance system settings.
  4. from Advance单击选项卡Environmrnt variable ... button.
  5. 在新开的,在system variable团体。点击new button.
  6. enter XDG_DATA_HOME to Variable name and cache路径到Variable value.
  7. click Ok button.

现在,去config.yaml并评论proxy in packages部分。按照这个:

packages:
  '@*/*':
    access: $all
    publish: $authenticated
    # proxy: npmjs

  '**':
    access: $all
    publish: $authenticated
    # proxy: npmjs

更改注册表配置 URL。

npm config set registry http://localhost:4873/

最后,重新启动verdaccio。

我希望有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在离线计算机上创建 NPM 注册表的副本? 的相关文章

随机推荐