คำถามติดแท็ก package-lock.json

11
ทำไม“ npm install” เขียน package-lock.json ใหม่
ฉันเพิ่งจะอัพเกรดNPM @ 5 ตอนนี้ผมมีแพคเกจ lock.jsonไฟล์ที่มีทุกอย่างจากpackage.json ฉันคาดหวังว่าเมื่อฉันรันnpm installเวอร์ชันที่ขึ้นต่อกันจะถูกดึงจากไฟล์ล็อคเพื่อพิจารณาว่าควรติดตั้งอะไรในไดเร็กทอรีnode_modulesของฉัน มีอะไรแปลก ๆ ที่จริง ๆ แล้วมันก็ปรับเปลี่ยนและเขียนไฟล์package-lock.jsonของฉันใหม่ ยกตัวอย่างเช่นแฟ้มล็อคมี typescript ระบุให้อยู่ในเวอร์ชัน2.1.6 จากนั้นหลังจากที่npm installคำสั่งรุ่นได้เปลี่ยนไปเป็น2.4.1 ที่ดูเหมือนจะเอาชนะวัตถุประสงค์ทั้งหมดของไฟล์ล็อค ฉันพลาดอะไรไป ฉันจะได้รับ npm เพื่อเคารพไฟล์ล็อคของฉันได้อย่างไร?

23
ข้อผิดพลาด: ไม่พบไฟล์พื้นที่ทำงานในเครื่อง ('angular.json')
ฉันได้travis-ciรวมเข้ากับบัญชี GitHub ของฉัน ( https://github.com/pradeep0601/Angular5-Router-App ) เมื่อฉันอัพเดต@angular/cliเวอร์ชันจาก 1.7.4 เป็น 6.0.0-rc.3 บิลด์เริ่มต้นล้มเหลวโดยมีข้อผิดพลาด: Local workspace file ('angular.json') could not be found. Error: Local workspace file ('angular.json') could not be found. at WorkspaceLoader._getProjectWorkspaceFilePath (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:37:19) at WorkspaceLoader.loadWorkspace (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:24:21) at TestCommand._loadWorkspaceAndArchitect (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:177:32) at TestCommand.<anonymous> (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:45:25) at Generator.next (<anonymous>) at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:7:71 at new Promise (<anonymous>) at …

3
ความแตกต่างระหว่าง npm-shrinkwrap.json และ package-lock.json คืออะไร
ด้วยการเปิดตัว npm @ 5ตอนนี้มันจะเขียน a package-lock.jsonเว้นแต่ว่ามีnpm-shrinkwrap.jsonอยู่แล้ว ฉันติดตั้ง npm @ 5 ทั่วโลกผ่านทาง: npm install npm@5 -g และตอนนี้ถ้าnpm-shrinkwrap.jsonพบในระหว่าง: npm install คำเตือนจะถูกพิมพ์: npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it! เพื่อนำออกไปของฉันเป็นที่ฉันควรเปลี่ยน shrinkwrap package-lock.jsonกับ ทำไมถึงมีรูปแบบใหม่สำหรับมัน? สิ่งที่package-lock.jsonไม่npm-shrinkwrap.jsonสามารถทำได้?

4
ฉันต้องการทั้ง package-lock.json และ package.json หรือไม่
หลังจากอัปเดต NPM ของฉันเป็นเวอร์ชันล่าสุด (จาก 3.X เป็น 5.2.0) และทำงานnpm installในโครงการที่มีอยู่ฉันได้รับpackage-lock.jsonไฟล์ที่สร้างขึ้นโดยอัตโนมัติ ผมสามารถบอกให้ฉันแผนภูมิการอ้างอิงที่แน่นอนเมื่อเทียบกับpackage-lock.jsonpackage.json จากข้อมูลเพียงอย่างเดียวดูเหมือนว่าpackage.jsonซ้ำซ้อนและไม่ต้องการอีกต่อไป พวกเขาทั้งสองจำเป็นสำหรับ NPM ในการทำงานหรือไม่ จะปลอดภัยหรือเป็นไปได้ที่จะใช้package-lock.jsonไฟล์เท่านั้น? เอกสารบน package-lock.json ( doc1 , doc2 ) ไม่ได้พูดถึงสิ่งใด แก้ไข : หลังจากคิดเพิ่มเติมเกี่ยวกับเรื่องนี้ฉันมาสรุปว่าถ้ามีคนต้องการใช้โครงการของคุณกับ NPM เวอร์ชันเก่า (ก่อน 5.x) มันจะยังคงติดตั้งการพึ่งพาทั้งหมด แต่มีเวอร์ชันที่ถูกต้องน้อยกว่า (เวอร์ชันแพตช์)

6
มีวิธีบังคับให้ npm สร้าง package-lock.json หรือไม่
ฉันลบมันโดยไม่ได้ตั้งใจและได้ทำการเปลี่ยนแปลงมากมายpackage.jsonตั้งแต่นั้นมา npm installหรือnpm updateไม่สร้างpackage-lock.jsonอีกต่อไป ฉันพยายามล้างแคช npm และแคช nvm ของฉัน แต่ดูเหมือนจะไม่มีอะไรทำงาน ฉันลองใช้กับ Node.js หลายเวอร์ชัน (6.10.3 Node.js - 3.10.10 npm คือสิ่งที่ฉันต้องการให้มันทำงาน) และมันไม่ทำงานกับไฟล์ใด ๆ มีวิธีบังคับให้ npm สร้างpackage-lock.jsonไฟล์หรือไม่

6
ทำไม package-lock.json จึงเปลี่ยนแฮชความสมบูรณ์จาก sha1 เป็น sha512
ฉันเพิ่งสร้างไฟล์ล็อก npm ใหม่ package-lock.json ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์ทั่วไปของฉัน แต่ฉันสังเกตว่าคราวนี้แฮชความสมบูรณ์ทั้งหมดได้เปลี่ยนจาก sha1 เป็น sha512 เกิดอะไรขึ้นที่นี่? "chalk": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", […] }

9
ฉันจะแก้ไขแพ็คเกจ npm ที่มีช่องโหว่ใน package-lock.json ของฉันที่ไม่อยู่ใน package.json ได้อย่างไร
Github กำลังบอกฉันว่าการอ้างอิงในไฟล์ package-lock.json ของฉันมีช่องโหว่และล้าสมัย ปัญหาคือถ้าฉันทำnpm installหรือnpm updateไม่อัปเดตการอ้างอิงในไฟล์ package-lock.json ฉันได้ทำ googling เกี่ยวกับเรื่องนี้หลายอย่างรวมทั้งลบไฟล์และทำเสร็จnpm installแล้ว หากใครสามารถช่วยแก้ไขปัญหานี้ได้ฉันจะขอบคุณอย่างมาก แพ็คเกจที่เป็นปัญหาคือ Hoek ซึ่งจริงๆแล้วฉันไม่มีในไฟล์ package.json ขอบคุณมากล่วงหน้า

9
วิธีที่เหมาะสมในการแก้ไขช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้นในการอ้างอิงที่กำหนดไว้ใน package-lock.json
Github ให้ข้อผิดพลาดนี้กับที่เก็บของฉัน We found a potential security vulnerability in one of your dependencies. A dependency defined in ./package-lock.json has known security vulnerabilities and should be updated. การอ้างอิงไม่ได้กำหนดไว้ในpackage.jsonไฟล์ของเรา ตามความเข้าใจของฉันมันไม่ใช่แนวปฏิบัติที่ดีในการลบpackage-lock.jsonไฟล์และสร้างใหม่ อย่างไรก็ตามฉันไม่เห็นวิธีอื่นใดในการแก้ไขปัญหานี้ หากฉันยกเลิกช่องโหว่ด้านความปลอดภัยนี้จะปรากฏขึ้นอีกครั้งในสองสามวันต่อมา ความคิดใด ๆ ? ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.