2017-09-07 50 views
1

我们已经从Nexus 3.01.01迁移到3.5.1-02。在这个过程中,我们必须迁移内部发布的npms。其中之一是来自Telerik/Progress的kendo-ui(商业版)。我们从Telerik下载了许可的拷贝,并将其发布到我们的本地连接点供我们的开发人员使用。将@ progress/kendo-ui发布到nexus 3..5.1 npm pkg存储库

但是,在有效负载解析期间发布失败,并显示错误。我可以在没有问题的情况下发布相同的tar到较旧的(3.01.01)连接,因此它自身的tar/payload是可以的。

错误似乎是在试图解析npm有效载荷。我也可以发布一个演示/简单的NPM(范围和非范围)没有问题。花一整天的时间来试图解决这个问题 - 没有任何指点或建议。

2017年9月6日18:49:09160 + 0800 WARN [qtp762281666-4116] MIDALLE org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - 故障维修:PUT /存储库/ NPM-托管/ @进度%2fkendo-ui java.lang.IllegalStateException:意外令牌VALUE_NULL在 [源代码:[email protected];行:1,柱:896]在 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(NpmPubl ishParser.java:123) 在 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parse(NpmPublishParser.java:98) 在 com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parseNpmPublish( 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.proceed(上下文.java:80)

这里是gist的来自nexus日志的完整错误。

+0

我的口袋里有同样的问题。你有任何更新? – galkin

回答

0

我得到这个工作,但我仍然试图找出变化的影响。如果您使用相同的“黑客”来使其发挥作用,请谨慎行事。我必须这样做,因为还有其他几个项目团队受到影响。

简而言之,我不得不从kendo-ui包的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" 
    }, 

我真的很感激,如果有人谁知道更多关于故宫和故宫定义可以在通知的package.json这些设置的目的和去除它们的潜在影响。