2017-09-07 16 views
1

Nexus 3.01.01에서 3.5.1-02로 이전했습니다. 이 과정에서 우리는 내부적으로 게시 된 NPM을 마이그레이션해야했습니다. 그 중 하나가 Telerik/Progress의 kendo-ui (상용 제품)입니다. 우리는 Telerik으로부터 라이센스가있는 복사본을 다운로드하여 개발자가 사용하기 위해 로컬 넥서스에 게시했습니다.@ progress/kendo-ui to nexus 3..5.1 npm pkg 저장소

그러나 페이로드 구문 분석 도중 오류가 발생하여 게시가 실패합니다. 이전 (3.01.01) 넥서스에 문제없이 동일한 타르를 게시 할 수 있으므로 타르/페이로드 자체는 괜찮습니다.

오류는 npm 페이로드를 구문 분석하려고 할 때인 것처럼 보입니다. 또한 문제없이 데모/간단한 npm (범위와 비 범위 모두)을 게시 할 수 있습니다. 하루 종일 운이없는 것을 알아 내려고 노력하십시오. 어떤 조언이나 조언을 부탁드립니다.

2017년 9월 6일 18 : 49 : 0800 + 09,160 WARN [qtp762281666-4116] MIDALLE org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - 않으면 서비스 : PUT/저장소/npm- 호스트 됨/@ 진행률 2fkendo-ui java.lang.IllegalStateException : 예기치 않은 토큰 VALUE_NULL at [출처 : [email protected]; 행 1 열 : com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue (NpmPublishParser.java:150)에서 896] com.sonatype.nexus.repository.npm.internal.NpmPublishParser에서. 의 parseObject com.sonatype.nexus.repository.npm.internal.NpmPublishParser에서 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue (NpmPublishParser.java:136)에서 (NpmPublishParser.java:174) . 의 parseObject com.sonatype.nexus.repository.npm.internal.NpmPublishParser에서 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parseValue (NpmPublishParser.java:136)에서 (NpmPublishParser.java:174) . parsePackageRoot (NpmPubl com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parseNpmPublish에서 com.sonatype.nexus.repository.npm.internal.NpmPublishParser.parse (NpmPublishParser.java:98) 에서 ishParser.java:123) ( com.sonatype.nexus.repository.npm.internal.NpmHostedFacetImpl.putPackage에서 com.sonatype.nexus.repository.npm.internal.NpmRequestParser.parsePublish (NpmRequestParser.java:60) 에서 NpmRequestParser.java:81) ( org.sonatype.nexus.repository.view.Context.proceed에서 NpmHostedFacetImpl.java:85) com.sonatype.nexus.repository.npm.internal.NpmHandlers $ 3.handle (NpmHandlers.java:172) 에서 (문맥 .java : 80)

다음은 Nexus 로그의 전체 오류에 대한 gist입니다.

+0

주머니와 동일한 문제가 있습니다. 업데이트가 있습니까? – galkin

답변

0

나는이 작업을 할 수있게되었지만 나는 아직도 변화의 영향을 알아 내려고하고있다. 이것이 작동하도록하기 위해 동일한 '해킹'을 적용하면주의하십시오. 영향을 받고있는 다른 여러 프로젝트 팀이 있었기 때문에이 작업을 수행해야했습니다.

간단히 말해서 검도 - 우 패키지의 패키지에서 몇 개의 키를 제거해야했습니다. 필자가 분석 한 바에 따르면 이러한 설정을 통해 npm은 제한 조건 환경에서 실패한 네트워크 호출을 실행합니다.

내가 제거한 package.json 키는 다음과 같습니다.

첫 번째 섹션

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

두 번째 섹션 NPM과 NPM 정의에 대한 자세한 내용을 알고 누군가가 package.json에 이러한 설정의 목적을 알릴 수 있다면 정말 감사하겠습니다

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

및 그들을 제거의 잠재적 인 영향.