将@progress/kendo ui发布到nexus 3..5.1 npm pkg存储库

将@progress/kendo ui发布到nexus 3..5.1 npm pkg存储库,npm,kendo-ui,nexus,nexus3,Npm,Kendo Ui,Nexus,Nexus3,我们已经从Nexus3.01.01迁移到3.5.1-02。在此过程中,我们必须迁移内部发布的NPM。其中之一是Telerik/Progress的剑道ui(商业版)。我们已经从Telerik下载了许可副本,并将其发布到我们当地的nexus,供我们的开发人员使用 但是,在有效负载解析期间,发布失败并出现错误。我可以将相同的tar发布到较旧的(3.01.01)nexus,因此tar/payload本身没有问题 错误似乎出现在试图解析npm负载的时候。我还可以发布演示/简单npm(范围和非范围),而不会

我们已经从Nexus3.01.01迁移到3.5.1-02。在此过程中,我们必须迁移内部发布的NPM。其中之一是Telerik/Progress的剑道ui(商业版)。我们已经从Telerik下载了许可副本,并将其发布到我们当地的nexus,供我们的开发人员使用

但是,在有效负载解析期间,发布失败并出现错误。我可以将相同的tar发布到较旧的(3.01.01)nexus,因此tar/payload本身没有问题

错误似乎出现在试图解析npm负载的时候。我还可以发布演示/简单npm(范围和非范围),而不会出现问题。花一整天的时间试图解决这个问题,但没有运气——感谢任何指点或建议

2017-09-06 18:49:09160+0800警告[qtp762281666-4116]半空中 org.sonatype.nexus.repository.httpbridge.internal.ViewServlet- 服务失败:PUT/repository/npm hosted/@progress%2fkendo ui java.lang.IllegalStateException:意外的令牌值\u NULL位于 [来源:java.io。InputStreamReader@1ebad5c7;行:1,列:896]at com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue(NpmPublishParser.java:150) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseObject(NpmPublishParser.java:174) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue(NpmPublishParser.java:136) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseObject(NpmPublishParser.java:174) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue(NpmPublishParser.java:136) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parsePackageRoot(NpmPublishParser.java:123) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parse(NpmPublishParser.java:98) 在 com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parsenpmppublish(NpmRequestParser.java:81) 在 com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parsePublish(NpmRequestParser.java:60) 在 com.sonatype.nexus.repository.npm.internal.NpmHostedFacetImpl.putPackage(NpmHostedFacetImpl.java:85) 在 com.sonatype.nexus.repository.npm.internal.NpmHandlers$3.handle(NpmHandlers.java:172) 在 org.sonatype.nexus.repository.view.Context.procedure(Context.java:80)


以下是nexus日志中的完整错误的详细信息。

我成功地解决了这个问题,但我仍在努力找出更改的影响。请小心,如果你应用相同的'黑客'使这项工作。我不得不这么做,因为还有其他几个项目团队受到影响

简而言之,我必须从KendoUI包的package.json中去掉几个键。我的分析是,这些设置使npm发出的网络调用在我们的约束环境中失败

我删除的package.json键如下所示

第一节

 "_resolved": "https://registry.npm.telerik.com/@progress%2fkendo-ui/-/kendo-ui-2017.2.621.tgz",
 "_shasum": "09a652ead21700716dd5a50f9e86e9bffcea640e",
 "_shrinkwrap": null,
第二节

 "dist": {
   "shasum": "09a652ead21700716dd5a50f9e86e9bffcea640e",
   "tarball": "http://registry.npm.telerik.com/@progress%2fkendo-ui/-/kendo-ui-2017.2.621.tgz"
  },

如果了解更多npm和npm定义的人能够告知package.json中这些设置的用途以及删除它们的潜在影响,我将不胜感激。

此问题已在

修复版本: 3.6.1


解析package.json中的空值时出现问题。我的pocket也有同样的问题。您有任何更新吗?@galkin似乎在以下范围内得到了修复: