“ ไม่สามารถอ่านคุณสมบัติ 'จับคู่' ที่ไม่ได้กำหนดได้ในระหว่างการติดตั้ง NPM


9

ฉันพบข้อผิดพลาดระหว่างการสร้างเจนกินส์

เจนกิ้นส์ล็อก

งาน: api: processResources งาน: api: คลาสงาน: เว็บ: nodeSetup งาน: เว็บ: npmSetup /var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/bin/npm -> / var / lib / jenkins / พื้นที่ทำงาน / hds_v2_docker / เว็บ / .gradle / npm / npm-v6.11.2 / lib / node_modules / npm / bin / npm-cli.js / var / lib / jenkins / พื้นที่ทำงาน / hds_v2_docker / เว็บ / 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 .js + npm@6.11.2 เพิ่ม 430 แพคเกจจากผู้สนับสนุน 832 คนใน 6.837s ภารกิจ: เว็บ: npmInstall FAILED npm ERR! ไม่สามารถอ่านคุณสมบัติ 'การจับคู่' ของที่ไม่ได้กำหนด

npm ข้อผิดพลาด! บันทึกที่สมบูรณ์ของการทำงานนี้สามารถพบได้ใน: npm ERR!
/var/lib/jenkins/.npm/_logs/2019-10-16T01_11_20_594Z-debug.log

FAILURE: บิลด์ล้มเหลวโดยมีข้อยกเว้น

  • มีข้อผิดพลาดอะไร: การดำเนินการล้มเหลวสำหรับงาน ': เว็บ: npmInstall'

    กระบวนการ 'คำสั่ง' /var/lib/jenkins/workspace/hds_v2_docker/web/.gradle/npm/npm-v6.11.2/bin/npm '' เสร็จสิ้นด้วยค่าทางออกที่ไม่เป็นศูนย์ 1

  • ลอง: เรียกใช้ด้วยตัวเลือก --stacktrace เพื่อรับการติดตามสแต็ก เรียกใช้ตัวเลือก --info หรือ --debug เพื่อรับเอาต์พุตบันทึกเพิ่มเติม ทำงานด้วย - สแกนเพื่อรับข้อมูลเชิงลึกเต็มรูปแบบ

  • รับความช่วยเหลือเพิ่มเติมได้ที่https://help.gradle.org

มีการใช้คุณสมบัติ Gradle ที่เลิกใช้ในงานสร้างนี้ทำให้ไม่สามารถใช้กับ Gradle 6.0 ได้ ใช้ '--warning-mode all' เพื่อแสดงคำเตือนการคัดแยกแต่ละรายการ ดู https://docs.gradle.org/5.0/userguide/command_line_interface.html#sec:command_line_warnings

สร้างล้มเหลวใน 33s

/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 17 emilyisTlist ├── emojis-list@2.1.0 17 silly saveTree └── json5 @ 0.5.1 18 verbose stack TypeError: ไม่สามารถอ่านคุณสมบัติ 'การจับคู่' ที่ไม่ได้กำหนด 18 verbose stack ที่ tarballToVersion (/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) 18 verbose stack ที่ BB.each (/ usr / local / lib / node_modules / npm / lib / ติดตั้ง /inflate-shrinkwrap.js:55:12) 18 กองซ้อน verbose ที่ tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23) 18 verbose stack ที่ Object.gotValue (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js:155:18) 18 verbose stack ที่ Object.gotAccum (/ usr / local / lib / node_modules / npm / node_modules / bluebird / js / release / reduction.js: 144: 25) 18 verbose stack ที่ Object.tryCatcher (/ usr / local / lib / node_modules / npm / node_modules / js / release / util .js: 16: 23) 18 verbose stack ที่ Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.jspi12:31) 18 verbose stack ที่ Promise._settlePromise /usr/local/lib/node_modules/npm/node_modules/blsbird/js/release/promise.js/569:18 18 สแต็ก verbose ที่ Promise._settlePromiseCtx (/ usr / local / lib / node_modules / npm / node_modules / npm_modules / npm_modules / npm_modules / npm_modules / npm js / ปล่อย / promise.js: 606:10) 18 verbose stack ที่ _drainQueueStep (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:142:12) 18 verbose stack ที่ _drainQueueStep npm / node_modules / bluebird / js / release / async.js: 131: 9) 18 verbose stack ที่ Async._drainQueues (/usr/local/lib/node_modules/npm/node_modules/js/release/async.js:1477 : 5) 18 verbose stack ที่ Immediate.Async.drainQueues (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14) 18 verbose stack ที่ runCallback (timers.js: 810: 20) 18 verbose stack ที่ tryOnImmediate (timers.js: 768: 5) 19 verbose cwd / var / lib / jenkins / พื้นที่ทำงาน / hds_v2_docker / เว็บ 20 verbose Linux 4.4.0-59-generic 21 verbose argv "/ usr / bin / node "" / usr / local / bin / npm "" ติดตั้ง "โหนด verbose 22 v8.16.0 23 verbose npm v6.90 24 ข้อผิดพลาดไม่สามารถอ่านคุณสมบัติ 'การจับคู่' ที่ไม่ได้กำหนด 25 verbose exit [1, true]

คำตอบ:


25

ลองลบของคุณpackage-lock.jsonเพื่อดูว่ามีประโยชน์หรือไม่

rm -rf package-lock.json 

3
ขอบคุณสำหรับคำตอบ. ฉันได้ลองแล้ว แต่ฉันได้รับข้อผิดพลาดเดียวกัน
m2sj

4
ลองลบ node_modules ด้วย rm -rf node_modules หลังจาก cd-ing เข้าไปในไดเรกทอรีแอปของคุณ
Aditya Prakash

4
ใช้del package-lock.jsonคำสั่งบน Windows OS ปิดบรรณาธิการและลบnode_modulesด้วย ทั้งคู่จะต้อง
Manohar Reddy Poreddy

3

คุณต้องลบไฟล์ Package-lock.json ของโครงการออก จากนั้นลองติดตั้งสิ่งที่คุณต้องการ

คุณสามารถค้นหาไฟล์นั้นในไดเรกทอรีโครงการหลัก


4
ไม่ไม่ควร นี่คือ "วิธีแก้ปัญหาที่แนะนำ" แต่ใช้งานไม่ได้อย่างไม่น่าเชื่อ การไม่มีการขึ้นต่อกันที่ถูกล็อคใน package.json ไม่รับประกันว่าการขึ้นต่อกันของผู้อ้างอิงจะยังคงเหมือนเดิมดังนั้นการลบไฟล์ package-lock.json การติดตั้ง npm และการสร้างไฟล์ newlock * จะช่วยให้การพึ่งพาย่อยเหล่านั้นเปลี่ยนแปลง ทำลายอาคารในอนาคตใด ๆ การใช้ไฟล์ล็อคที่มีอยู่มักจะเป็นวิธีเดียวในการดูแลบิลด์
DanielM

3

คุณต้องลบทั้งสอง และpackage-lock.json node_modules/

npm installหากคุณไม่ได้ลบทั้งปัญหาจะกลับมาในครั้งต่อไป


นี่ควรเป็นคำตอบที่ยอมรับได้ คำถามคือทำไมสิ่งนี้เกิดขึ้น?
ACV
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.