Node.js asennus Windows 10:n Ubuntulle

Published on Saturday, March 16, 2019

Tässä kirjoituksessa käyn lyhyesti läpi kuinka Node.js asennetaan, kun käytössä on Windows 10:n tarjoama Windows Subsystem for Linux -ominaisuus (kavereiden kesken vain WSL), joka mahdollista Linux-käyttöjärjestelmille suunnattujen ohjelmien suorituksen Windowsissa.

Tässä kohtaa joku saattaa miettiä, että miksi Node.js pitäisi asentaa WSL:n kautta, kun saatavilla on myös Windows 10 -versio. Perusteluna voisi olla esim. monissa Linuxeissa hyvin tuettu Bash-komentotulkki, jonka päälle rakennetut skriptit toimivat yleensä paremmin Linux-ympäristöissä.

Windows Subsystem for Linuxin eli WSL:n käyttöönotto

Windows 10:n kanssa WSL pitää ottaa erikseen käyttöön. Tämä tapahtuu käynnistämällä PowerShell -komentokehoitteen Admin-oikeuksilla,
PowerShell ja admin-oikeudet
ja antamalla siihen seuraavan komennon

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Kun komento on suoritettu onnistuneesti, pitää Windows 10 käynnistää kerran uudestaan, jotta WSL aktivoituu.

Halutun Linuxin asennus Microsoft Storesta

Kun WSL on otettu käyttöön, voidaan haluttu Linux-jakelu asentaa suoraan Microsoft Storesta. Oma valintani oli Ubuntu 18.04 LTS, jonka saa luonnollisesti ilmaiseksi painamalla aluksi Hanki-nappia ja sen jälkeen Asenna-nappia

Ubuntu 18.04 Microsoft Store

Asennuksen jälkeen Ubuntu löytyy Windows 10:n käynnistysvalikosta, josta sen voi käynnistää

Ubuntu 18.04 Microsoft Store

Ensimmäisellä käynnistyskerralla kannattaa varautua muutamien minuuttien odotukseen, kun järjestelmä viimeistelee asennuksensa. Tämän jälkeen luodaan uusi käyttäjätili Linuxiin, ja luonnollisesti oman käyttäjätunnuksen ja salasanan saa valita itse (mutta käyttäjätunnukseksi eivät kelpaa pelkät numerot).

Ubuntu 18.04 WSL First start

Node.js asennus

Ubuntun kohdalla Node.js:lle on tarjolla valmiit asennusskriptit, joiden viimeisimmät versiot löytyvät Nodesource-listauksesta. Itsellä oli tarvetta Node.js:n 11-versiolle, joten asennus onnistui seuraavilla komennoilla

curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

Node install start

Ensimmäisen komennon kohdalla kysytään käyttäjän salasanaa, koska skiptin suorittaminen, ja Node.js:n asennus vaativat pääkäyttäjän oikeudet. Muutaman minuutin odottelun jälkeen Node.js:n pitäisi olla asennettuna, ja asennuksen onnistumisen voi testata vaivattomasti seuraavalla komennolla

node --version

Node version

Typescriptin asennus npm:n avulla

Kun Node.js on saatu asennettua, tulee usein tarpeelliseksi asentaa muita npm-pakettienhallinnan tarjoamia paketteja. WSL + Ubuntu -yhdistelmän kanssa globaalit pakettienasennukset vaativat pääkäyttäjän oikeudet. Muussa tapauksessa tarjolla on yleensä "npm WARN checkPermissions Missing write access to /usr/lib/node_modules" -tyyppinen virheilmoitus

Täten esim. Typescriptin asennus onnistuu seuraavalla komennolla

sudo npm install -g typescript

Sudo npm install global typescript

ja asennuksen onnistumisen voi testata komennolla

tsc

Typescript at WSL

👍