ฉันกำลังพยายามติดตั้งโมดูล npm ทั่วโลกที่เพิ่งเผยแพร่ ทุกครั้งที่ฉันพยายามติดตั้งไม่ว่าจะจาก npm หรือโฟลเดอร์ฉันได้รับข้อผิดพลาดนี้
npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek"
npm ERR! cwd /home/giodamlio
npm ERR! node -v v0.10.6
npm ERR! npm -v 1.3.6
npm ERR! path /usr/local/lib/node_modules/takeapeek/lib/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/giodamlio/npm-debug.log
npm ERR! not ok code 0
ฉันใช้ sudo และฉันได้ตรวจสอบทุกอย่างในแพ็คเกจสามครั้งทุกอย่างควรใช้งานได้ ฉันลองค้นหาไปรอบ ๆ และเห็นเคสซิมไพลเลอร์สองกรณีที่ไม่ได้รับการแก้ไข นี่คือสิ่งที่ฉันพยายาม
- อัพเกรด npm (
sudo npm install -g npm
) - ล้างแคช npm ส่วนกลาง (
sudo npm cache clear
) - ล้างแคช npm ของผู้ใช้ (
npm cache clear
)
ฉันสังเกตเห็นว่าข้อผิดพลาดเกี่ยวข้องกับไฟล์ที่ฉันลิงก์ไปยังเส้นทางโดยเฉพาะเมื่อ npm พยายามทำ chmod นั่นไม่ควรเป็นปัญหาฉันlib/cli.js
มีสิทธิ์ปกติและ npm มีสิทธิ์ superuser ระหว่างการติดตั้งนี้
หลังจากขุดผ่านเอกสาร npm ฉันพบตัวเลือกที่จะหยุด npm จากการสร้างลิงก์ bin ( --no-bin-links
) เมื่อฉันลองติดตั้งด้วยมันก็ใช้งานได้ดี
ข้อตกลงคืออะไร? นี่เป็นข้อผิดพลาดของเคสแปลก ๆที่ยังไม่มีวิธีแก้ไขหรือไม่?
แก้ไข: สำหรับการอ้างอิงนี่คือโมดูลที่ฉันอัปโหลด
--no-bin-links
เพียงแค่หยุด NPM จาก symlinking ไฟล์ใน package.json ของbin
กัญชาไปยังเส้นทางในโลกติดตั้ง