ความแตกต่างระหว่าง node.js และ node คืออะไร?


103

ฉันได้ติดตั้ง node.js ในเครื่องของฉัน (linux mint 15) เมื่อฉันเรียกใช้node example.jsมันบอกว่า:

The program 'node' can be found in the following packages:
 * node
 * nodejs-legacy
Try: sudo apt-get install <selected package>

ดังนั้นความแตกต่างระหว่าง node และ nodejs คืออะไร? ฉันเคยติดตั้งทั้ง node.js และ node ไว้ก่อนหน้านี้ แต่เมื่อฉันเรียกใช้node example.jsเว็บเซิร์ฟเวอร์ไม่เริ่มทำงานเลย ดังนั้นฉันจึงลบโหนดและเก็บ node.js


คำตอบ:


152

โหนดแพ็กเกจไม่เกี่ยวข้องกับ node.js

nodejsคือสิ่งที่คุณต้องการ #!/usr/bin/env nodeแต่มันเป็นเนื้อหาที่ดีกว่าที่จะมีคำสั่งเรียกว่าโหนดเข้ากันได้กับสคริปต์ที่ใช้

คุณสามารถสร้าง symlink ในเส้นทางของคุณ:

sudo ln -s `which nodejs` /usr/local/bin/node

หรือคุณสามารถติดตั้ง nvmแล้วใช้เพื่อติดตั้ง node.js เวอร์ชันล่าสุด:

nvm install stable

ฉันชอบวิธีการ nvm มากกว่าเพราะมันช่วยให้คุณsudo apt-get remove nodejsแล้วจัดการเวอร์ชันของโหนดที่คุณใช้ด้วยตัวเอง คุณยังสามารถติดตั้งและใช้ node.js หลายเวอร์ชันnvm use <version>เพื่อสลับไปมาระหว่างกันได้อย่างง่ายดาย

ฉันต้องการเพิ่มบรรทัดที่ด้านล่างสิ่งที่ฉัน.bashrcชอบ: nvm use stable > /dev/null. ซึ่งจะใช้เวอร์ชันล่าสุดที่คุณติดตั้งโดยอัตโนมัติ

ในการอัปเดตเวอร์ชันโหนดของคุณให้เป็นเวอร์ชันเสถียรล่าสุด: nvm install stable. ทุกครั้งที่คุณทำสิ่งนี้คุณจะต้องติดตั้งแพ็คเกจ npm ที่คุณติดตั้งไว้ทั่วโลกหากคุณต้องการใช้ต่อ

เพื่อสลับไปยังรุ่นเก่าทำงานเพียงหรือหากคุณไม่ได้มีรุ่นเก่าที่ติดตั้งแล้ว:nvm use <version>nvm install <version>


28
จริงๆแล้วnodejs-legacyแพคเกจมีเพียง symlink (ดูที่lists.debian.org/debian-devel-announce/2012/07/msg00002.html )
someonr

1
มีประโยชน์มากและสะดวกคือแพ็คเกจnvm
Akshay Pratap Singh

ในโลก JS ผู้คนยังคงเรียกโหนด ในกรณีนั้นอ้างถึง node.js หรือไม่?
vikramvi

1
@vikramvi ใช่เมื่อคุณมาที่นี่ผู้คนที่พูดถึงโหนดพวกเขาอาจอ้างถึง node.js; ไม่ว่าจะเป็นโหนดนั้นหรือ DOM ในเบราว์เซอร์
Paul

26

คำตอบนี้เป็นเพียงเพื่อบอกความแตกต่างระหว่างnodeและnodejsแพ็คเกจบน Debian OS

node

nodejs

  • Node.js เป็นแพลตฟอร์มที่สร้างขึ้นบนรันไทม์ JavaScript ของ Chrome เพื่อสร้างแอปพลิเคชันเครือข่ายที่รวดเร็วและปรับขนาดได้อย่างง่ายดาย Node.js ใช้รูปแบบที่ขับเคลื่อนด้วยเหตุการณ์และไม่ปิดกั้นI/Oซึ่งทำให้น้ำหนักเบาและมีประสิทธิภาพเหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์ที่ใช้ข้อมูลจำนวนมากซึ่งทำงานบนอุปกรณ์แบบกระจาย
  • ลิงค์รายละเอียดแพ็คเกจ:

9
คำตอบที่อธิบายความจริงความแตกต่างระหว่างและnode nodejs
Bono

1
ฉันจะเข้าใจความแตกต่างระหว่างทั้งสองในภาษาของคนธรรมดาได้อย่างไร
steady_daddy

1
@steady_daddy ทั้งสองแพ็กเกจไม่เกี่ยวข้องกันดังนั้นคำตอบง่ายๆคือทั้งสองไม่เกี่ยวข้องกัน nodejs เป็นเฟรมเวิร์กเซิร์ฟเวอร์ที่เน้นจาวาสคริปต์ที่ทันสมัยโดยทั่วไปจะใช้เพื่อให้บริการต่างๆและแอปพลิเคชันแบบเรียลไทม์ในขณะที่โหนดเป็นเฟรมเวิร์กรุ่นเก่าสำหรับการส่งแพ็กเก็ตข้อมูลผ่านวิทยุสมัครเล่น การติดตั้งส่วนใหญ่จะเชื่อมโยงคำสั่งเชลล์ "โหนด" กับไบนารี "nodejs" และโดยปกติแล้วจะปลอดภัยเนื่องจากแทบไม่มีใครใช้ nodejs จะพบความขัดแย้งกับ "โหนด"
EddieOffermann
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.