将范围内的npm包发布到Artifactory Online

时间:2018-06-12 22:07:37

标签: artifactory

我正在尝试将一个范围内的npm包发布到Artifactory Online:my-company.jfrog.io/my-company

我遇到了这个SO Question中描述的相同问题,我发布了我的软件包@scope/my-package并且它部署到Artifactory就好了,但它最终出现在Artifactory Online路径中:npm-internal/@scope/my-package/-/@scope/my-package-1.2.3.tgz

当我运行npm view @scope/my-package时,我收到404错误:

npm ERR! 404 Not Found: @scope/my-package

在Artifactory中,可以移动包,因此我尝试从以下位置移动它:

npm-internal/@scope/my-package/-/@scope/my-package-1.2.3.tgz

npm-internal/@scope/my-package-1.2.3.tgz

并尝试npm view @scope/my-package,获取包详情,然后执行npm install @scope/my-package即可安装。

我在网上找到的每个答案都有一个解决方案,可以将Tomcat配置为AllowEncodedSlashed。是否有Artifactory Online等价物?

我已经翻遍了尽可能多的网络应用程序,因为我可以通过搜索找到任何类似于配置选项的内容,以便让它能够正常工作而一无所获。我没有找到任何搜索文档的内容。

1 个答案:

答案 0 :(得分:1)

根据artifactory docs

  

有两种方法可以将软件包部署到本地存储库:

     

你可以deploy a packed npm package to a specific path in your registry。鉴于此,可以执行以下操作:

npm run build
npm pack dist/
npm publish scope-my-package-1.2.3.tgz --registry https://my-company.jfrog.io/my-company/api/npm/internal-npm/@scope/my-package/
npm view @scope/my-package

这很有效。现在可以查看新部署的软件包。