ติดตั้ง Node.js 8.x บน Ubuntu 16.04

เพื่อรองรับการพัฒนาโปรแกรมด้วย JavaScript ให้รันบนเซิร์ฟเวอร์ ที่กำลังได้รับความนิยมอย่างแพร่หลาย ลองมาดูวิธีการติดตั้ง Node.js บน Ubuntu 16.04 กัน

ถ้ารันคำสั่ง apt install เพื่อติดตั้ง nodejs เลย จะเป็นการติดตั้งโปรแกรมเวอร์ชันเก่า เพราะ repository ที่มาพร้อมกับ Ubuntu 16.04 จะมีแค่ เวอร์ชัน 4.x เท่านั้น

ดังนั้น ถ้าต้องการติดตั้งเวอร์ชันใหม่ (เวอร์ชันล่าสุด ตอนที่เขียนบทความนี้ คือ 8.x กับ 9.x) เราต้องเพิ่ม repository ที่เก็บ Node.js เวอร์ชันที่ต้องการก่อน แล้วค่อยรันคำสั่ง apt install เพื่อติดตั้ง

เช่น ถ้าต้องการติดตั้งเวอร์ชัน 8.x ซึ่งเป็นเวอร์ชัน LTS (Long Term Support) ต้องรันคำสั่งเพื่อดาวน์โหลดไฟล์และติดตั้ง repository เพิ่มเติมดังนี้

alice@u16:~$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

## Installing the NodeSource Node.js v8.x repo...

## Populating apt-get cache...

...

Fetched 110 kB in 1s (69.6 kB/s)
Reading package lists... Done

## Run `apt-get install nodejs` (as root) to install Node.js v8.x and npm

หลังจากเพิ่ม repository ลองรันคำสั่ง apt list เพื่อดูข้อมูลแพ็คเกจ nodejs ที่มีอยู่ ตอนนี้จะมีเวอร์ชัน 8.9 พร้อมให้ติดตั้งแล้ว

alice@u16:~$ apt list | grep nodejs

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

nodejs/unknown 8.9.1-1nodesource1 amd64
nodejs-dbg/unknown 8.4.0-1nodesource1~xenial1 amd64
nodejs-dev/xenial-updates 4.2.6~dfsg-1ubuntu4.1 amd64
nodejs-legacy/xenial-updates,xenial-updates 4.2.6~dfsg-1ubuntu4.1 all

รันคำสั่ง apt install เพื่อติดตั้ง nodejs

alice@u16:~$ sudo apt install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
Setting up libpython-stdlib:amd64 (2.7.11-1) ...
Setting up python (2.7.11-1) ...
Setting up nodejs (8.9.1-1nodesource1) ...

หลังจากติดตั้งเรียบร้อย ลองรันคำสั่ง node -v เพื่อดูเวอร์ชัน

alice@u16:~$ node -v
v8.9.1

จากการติดตั้งจะได้ npm เพื่อใช้บริหารจัดการแพ็คเกจของ JavaScript ด้วย

alice@u16:~$ npm -v
5.5.1

ทดสอบเขียนไฟล์ JavaScript และทดลองรันด้วยคำสั่ง node

alice@u16:~$ cat hello.js
console.log('Hello, World!');

alice@u16:~$ node hello.js
Hello, World!

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.