ชื่อล่าม NodeJS ( node
) บน Ubuntu ถูกเปลี่ยนชื่อเป็นnodejs
เพราะชื่อขัดแย้งกับแพ็คเกจอื่น นี่คือสิ่งที่ readme Debian พูดว่า:
ชื่อ upstream สำหรับคำสั่ง interpreter Node.js คือ "node" ใน Debian คำสั่ง interpreter ถูกเปลี่ยนเป็น "nodejs"
สิ่งนี้ถูกทำขึ้นเพื่อป้องกันการชนกันของเนมสเปซ: คำสั่งอื่น ๆ ใช้ชื่อเดียวกันในอัพสตรีมเช่น ax25-node จากแพ็คเกจ "node"
สคริปต์ที่เรียก Node.js เป็นคำสั่ง shell จะต้องเปลี่ยนเป็นใช้คำสั่ง "nodejs" แทน
อย่างไรก็ตามการใช้ nodejs mucks npm
ขึ้นการติดตั้งแพคเกจการใช้ การติดตั้งแพคเกจล้มเหลวโดยมีข้อผิดพลาดดังต่อไปนี้:
sh: 1: node: not found npm WARN This failure might be due to the use of legacy binary "node" npm WARN For further explanations, please read /usr/share/doc/nodejs/README.Debian
ฉันจะทำให้ npm เข้าใจได้อย่างไรว่า nodejs ติดตั้งไว้แล้วในระบบ แต่ชื่อผู้แปลนั้นแตกต่างกัน?
ln -s nodejs node
/usr/bin
มันเป็นแฮ็คชนิดหนึ่ง