使用artifactory而不使用远程npm存储库

时间:2016-11-15 09:54:18

标签: npm offline artifactory

我在一个神器无法访问互联网的环境中工作。我们想将artifactory用作npm注册表和主机。是否可以上传外部依赖项及其传递依赖项?

例如:我在拥有互联网访问权限的计算机上,使用npm install下载了webpack及其所有依赖项。现在我转到具有神器访问权限的其他网络,并希望上传我的node_modules文件夹。这有用吗?

2 个答案:

答案 0 :(得分:3)

除了Artifactory的代理/缓存功能外,它还可以在其中托管多个本地存储库(例如npm存储库)。这基本上意味着您可以在Artifactory中创建npm local repository并将任何npm * .tgz包(您的依赖项)部署到此存储库中,Artifactory将为您的客户端生成相关的元数据。您需要做的就是部署相关的软件包并配置您的npm客户端以从Artifactory中解析。

答案 1 :(得分:0)

我最近制作了一个应该帮助解决这个问题的节点模块。 您为它提供了一个要下载的软件包列表,它将下载包含所有依赖项的软件包作为tar.gz.然后它会将它们保存在原始的npm文件夹结构中,并创建一个包含所有内容的tar.gz。

然后,您可以将tar.gz与所有依赖项一起使用,并使用部署向导将其部署到Artifactory。 Artifactory Deploy

部署时,选中复选框" Deploy as Bundle Artifact"。这将提取包的tar.gz并将它们加载到npm存储库中。 Artifactory将读取所有包的package.json,并将加载相关信息,允许您使用npm提取包。

该包名为package-bundle,可以使用npm install -g package-bundle

从npm下载

要下载软件包,您可以运行命令pb bluebird express@1.0.1,它将获取指定的软件包以及所有必需的依赖项。