Npm 설치 중 "정의되지 않은 속성 '일치'를 읽을 수 없습니다"


9

Jenkins를 빌드하는 동안 오류가 발생했습니다

젠킨스 로그

작업 : api : processResources 작업 : api : classes 작업 : web : nodeSetup 작업 : web : npmSetup /var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/bin/npm-> / var / lib / jenkins / workspace / hds_v2_docker / web / .gradle / npm / npm-v6.11.2 / lib / node_modules / npm / bin / npm-cli.js / var / lib / jenkins / workspace / hds_v2_docker / web /. gradle / npm / npm-v6.11.2 / bin / npx-> /var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/lib/node_modules/npm/bin/npx-cli .js + npm@6.11.2는 6.837s의 832 명의 기여자로부터 430 개의 패키지를 추가했습니다. 작업 : web : npmInstall FAILED npm ERR! 정의되지 않은 'match'속성을 읽을 수 없습니다

npm ERR! 이 실행의 전체 로그는 다음 위치에서 찾을 수 있습니다. npm ERR!
/var/lib/jenkins/.npm/_logs/2019-10-16T01_11_20_594Z-debug.log

실패 : 예외로 인해 빌드가 실패했습니다.

  • 잘못된 일 : ': web : npmInstall'작업에 대한 실행이 실패했습니다.

    0이 아닌 종료 값 1로 완료된 'command'/var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/bin/npm 프로세스

  • --stacktrace 옵션으로 실행하여 스택 추적을 가져 오십시오. 더 많은 로그 출력을 얻으려면 --info 또는 --debug 옵션으로 실행하십시오. 통찰력을 얻으려면 --scan으로 실행하십시오.

  • https://help.gradle.org 에서 추가 도움 받기

이 빌드에는 더 이상 사용되지 않는 Gradle 기능이 사용되어 Gradle 6.0과 호환되지 않습니다. 개별 사용 중단 경고를 표시하려면 '-경고 모드 모두'를 사용하십시오. https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:command_line_warnings를 참조 하십시오.

33 대 건물 건설 실패

/var/lib/jenkins/.npm/_logs/2019-10-16T01_11_20_594Z-debug.log

17 silly saveTree │ ├─┬ clean-css@4.2.1 17 silly saveTree │ │ └── source-map@0.6.1 17 silly saveTree │ ├── commander@2.17.1 17 silly saveTree │ └── he @ 1.2.0 17 silly saveTree ┬─┬ loader-utils@0.2.17 17 silly saveTree ├── big.js@3.2.0 17 silly saveTree ├── emojis-list@2.1.0 17 silly saveTree └── json5 @ 0.5.1 18 verbose stack TypeError : tarballToVersion에서 정의되지 않은 18 verbose 스택의 속성 'match'를 읽을 수 없습니다 (/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:87:20) 18 verbose stack inflatableChild에서 (/usr/local/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:99:22) BB의 18 개의 자세한 스택 (/ usr / local / lib / node_modules / npm / lib / install /inflate-shrinkwrap.js:55:12) tryCatcher에서 18 개의 자세한 스택 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16 :23) Object.gotValue의 18 상세 스택 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js:155:18) Object.gotAccum의 18 상세 스택 (/ usr / local / lib / node_modules / npm / node_modules / bluebird / js / release / reduce.js : 144 : 25) Object.tryCatcher의 18 개의 자세한 스택 (/ usr / local / lib / node_modules / npm / node_modules / bluebird / js / release / util .js : 16 : 23) Promise._settlePromiseFromHandler의 자세한 verbose 스택 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31) Promise._settlePromise의 18 상세 스택 ( /usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:569:18) Promise._settlePromiseCtx의 18 개의 자세한 스택 (/ usr / local / lib / node_modules / npm / node_modules / bluebird / js / release / promise.js : 606 :10) _drainQueueStep에서 18 상세 스택 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:142:12) _drainQueue에서 18 상세 스택 (/ usr / local / lib / node_modules / npm / node_modules / bluebird / js / release / async.js : 131 : 9) Async._drainQueues에서 18 개의 자세한 스택 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:147 : 5) Immediate.Async.drainQueues에서 18 개의 자세한 스택 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14) runCallback에서 18 개의 자세한 스택 (timers.js : 810 : 20) tryOnImmediate에서 18 개의 자세한 스택 (timers.js : 768 : 5) 19 자세한 cwd / var / lib / jenkins / workspace / hds_v2_docker / web 20 자세한 Linux 4.4.0-59-generic 21 자세한 argv "/ usr / bin / node ""/ usr / local / bin / npm ""install "22 상세 노드 v8.16.0 23 상세 npm v6.9.0 24 오류 정의되지 않은 25 개의 상세 종료의 속성 '일치'를 읽을 수 없습니다. [1, true]

답변:


25

package-lock.json도움이되는지 제거하십시오 .

rm -rf package-lock.json 

3
답변 주셔서 감사합니다. 나는 이미 시도했지만 같은 오류가 발생했습니다
m2sj

4
node_modules도 제거하십시오. 앱 디렉토리에 cd 한 후 rm -rf node_modules
Aditya Prakash

4
del package-lock.jsonWindows OS에서 명령을 사용하십시오 . 또한 편집기를 닫고 삭제하십시오 node_modules. 둘 다 필수입니다.
Manohar Reddy Poreddy

3

프로젝트 Package-lock.json 파일을 제거해야합니다. 그런 다음 원하는 것을 설치하십시오.

기본 프로젝트 디렉토리에서 해당 파일을 찾을 수 있습니다


4
아닙니다. 이것은 "권장되는 해결 방법"이지만 실제로는 엄청나게 손상되었습니다. package.json에 종속 된 종속성이 없어도 종속성의 종속성이 일관되게 유지되므로 package-lock.json 파일을 제거하고 npm을 설치하고 새 잠금 파일을 생성하면 이러한 하위 종속성이 변경 될 수 있습니다. 미래의 건물을 파괴합니다. 기존 잠금 파일을 사용하는 것이 빌드를 유지 관리하는 유일한 방법 (결국 파일의 포인트 임)을 유지하는 유일한 방법이므로 파일을 완전히 제거하면 파일이 존재하는 이유에 위배됩니다.
DanielM

3

당신은 제거해야 모두 package-lock.json node_modules/ .

둘 다 제거하지 않으면 다음에 문제가 다시 발생합니다 npm install.


이것이 정답입니다. 문제는 왜 이런 일이 발생합니까?
ACV
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.