npm ไม่รองรับคำเตือนการข้ามความช่วยเหลือทางเลือก: แพลตฟอร์มที่ไม่รองรับสำหรับ fsevents@1.0.14


113

ฉันพยายามเรียกใช้โปรเจ็กต์นี้https://github.com/Soundnode/soundnode-app หลังจากอัปเดตเวอร์ชันย่อของฉันเป็น 3.10.9 ฉันได้รับข้อผิดพลาดนี้

npm WARN ตัวเลือก SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules \ webpack \ node_modules \ watchpack \ node_modules \ chokidar \ node_modules \ fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsuventorted Platform os ":" darwin "," arch ":" any "} (ปัจจุบัน: {" os ":" win32 "," arch ":" ia32 "})

การกำหนดค่าของฉันคือ Node v - 4.4.2 npm v- 3.10.9 im ทำงานบน Windows OS 32 บิต


1
ฟังดูเหมือนข้อผิดพลาดสำหรับฉัน - คุณมีปัญหาในการเรียกใช้โค้ดหรือไม่? npm WARNเป็นเพียงคำเตือนที่ควรค่าแก่การใส่ใจ แต่ไม่ได้ทำลายอะไรเลย
Aurora0001

2
และคำเตือนนี้เป็นเพียงการแจ้งให้คุณทราบว่าการอ้างอิงที่เป็นทางเลือกไม่ได้ติดตั้งเนื่องจากแพลตฟอร์มของคุณไม่ตรงกับข้อกำหนด ในกรณีนี้มันกำลังมองหาดาร์วินและคุณอยู่บน win32
Dave V

มันเป็นโปรเจ็กต์ที่น่ากลัวหลังจากรันคำสั่งนี้ "npm install -g grunt-cli" ฉันพยายามเรียกใช้การติดตั้ง npm เมื่อได้รับคำเตือนนี้
Aishwary Tiwari

1
@AishwaryTiwari คุณได้รับข้อผิดพลาดจริงหรือรหัสไม่ทำงาน? คำเตือนไม่น่าจะเป็นปัญหาจริงเนื่องจาก (ตามที่ข้อความแสดงข้อผิดพลาดระบุ) จะข้ามการพึ่งพาที่เป็นทางเลือก
Aurora0001

1
มีคำขอดึงข้อมูลที่แก้ไขปัญหา: github.com/npm/npm/pull/19198คุณสามารถสมัครรับคำขอดึงนั้นได้ดังนั้นคุณจะได้รับการอัปเดตเมื่อจะปิด
RiZKiT

คำตอบ:


150

เป็นการเตือนไม่ใช่ข้อผิดพลาด เกิดขึ้นเนื่องจากfseventsเป็นการพึ่งพาที่เป็นทางเลือกซึ่งใช้เฉพาะเมื่อโปรเจ็กต์ทำงานบนสภาพแวดล้อม macOS (แพ็คเกจนี้มี 'Native Access to Mac OS-X FSEvents')

และเนื่องจากคุณกำลังใช้งานโปรเจ็กต์บน Windows fseventsจึงถูกข้ามไปโดยไม่เกี่ยวข้อง

มี PR เพื่อแก้ไขพฤติกรรมนี้ที่นี่: https://github.com/npm/cli/pull/169


35
ไม่ใช่สิ่งที่เป็นทางเลือกและขึ้นอยู่กับความขัดแย้งในตัวเอง?
Martijn Burger

7
นั่นเป็นคำถามเชิงทฤษฎีมากกว่า อาจconditional dependencyจะดีกว่า? การตั้งชื่อเป็นเรื่องยาก ฉันเดาว่าไม่ใช่เรื่องง่ายที่จะหาชื่อที่ดีสำหรับกรณีนี้ในขณะที่รักษาความกระชับ
piotr.d

10
npm install - no-optional
suiwenfeng

5
ฉันเห็นด้วยอย่างยิ่ง @DemPilafian ดังนั้นฉันจึงแก้ไขคำตอบเดิมของฉันและลบ "เท่านั้น" โดยส่วนตัวฉันปฏิบัติต่อคำเตือนเช่นข้อผิดพลาด แต่ในกรณีนี้ IMHO ไม่ควรบันทึกเป็นคำเตือน แต่เป็นข้อมูลเนื่องจากในสภาพแวดล้อมของ Windows คุณไม่สามารถทำอะไรเพื่อให้คำเตือนหายไปได้
piotr.d

23
คำตอบที่ดีตอนนี้ฉันจะกำจัดมันได้อย่างไร
TetraDev

32

สิ่งนี้ยังคงเป็นปัญหาทำให้การติดตั้งแพ็กเกจถูกยกเลิกโดยมีคำเตือนเกี่ยวกับแพ็กเกจเสริมที่ไม่ได้ติดตั้งเนื่องจาก "แพลตฟอร์มที่ไม่รองรับ"

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

การเพิ่มตัวเลือกเหล่านี้ไปยังnpm installคำสั่งควรอนุญาตให้แพคเกจการติดตั้งอีกครั้ง

   --no-optional argument will prevent optional dependencies from being installed.

   --no-shrinkwrap argument, which will ignore an available package lock or
                   shrinkwrap file and use the package.json instead.

   --no-package-lock argument will prevent npm from creating a package-lock.json file.

คำสั่งที่สมบูรณ์มีลักษณะดังนี้:

    npm install --no-optional --no-shrinkwrap --no-package-lock

n จอย!


1
มีความเสี่ยงหรือไม่ที่จะตั้งค่า--no-optional-flag สำหรับรหัสที่ใช้งานได้เพื่อกำจัดคำเตือน? ทำไมถึงไม่ตั้งค่าโดยปริยาย?
cederlof

6
นี่ไม่ใช่วิธีแก้ปัญหาเนื่องจากการใช้ package-lock.json เป็นสิ่งที่ดีและวิธีนี้แนะนำในทางตรงกันข้าม
ismailarilik

@ismailarilik โซลูชันนี้ช่วยให้ฉันสามารถติดตั้งแพ็คเกจเพื่อให้ฉันทำงานต่อไปได้
nickl-

"- ไม่มีทางเลือก" เป็นความคิดที่แย่มากจริงๆ โดยปกติจะไม่สนใจคำเตือน คุณยังสามารถใช้npm install -f: github.com/angular/angular/issues/13935
FoggyDay

13

ใช้พารามิเตอร์ - บังคับ:

npm i -f

2
ฉันบังคับให้ติดตั้งครั้งเดียวด้วยคำสั่งนี้และตอนนี้เมื่อฉันเปิดตัวnpm installฉันไม่มีคำเตือนใด ๆ ขอบคุณ!
Allenile

1
ฉันได้รับข้อผิดพลาดบางอย่างขณะเรียกใช้คำสั่งนั้น แต่หลังจากรัน npm อีกครั้งการติดตั้งคำเตือนก็หายไป! ขอบคุณครับ
ccoutinho

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