2017-09-07 51 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這些設置的目的和去除它們的潛在影響。