Etikettarkiv: npm

Silly programmer, JavaScript is for the browser!

Eller… Kanske inte läng­re.

Jag kom­mer ihåg när jag bör­ja­de med mer webb-foku­se­rad pro­gram­me­ring. Jag skrev i Java­Script, och lyc­ka­des slut­li­gen hit­ta en bok som hand­la­de om (drum­roll ple­a­se…) AJAX! Kom­mer ni ihåg det? Det var innan jQue­ry, innan explo­sio­nen som led­de till Face­books vack­ra GUI, innan det så-kal­la­de Web 2.0.

För­ra vec­kan bör­ja­de jag expe­ri­men­te­ra med Ember JS, ett MVC-ram­verk för Java­Script vil­ket använ­der Hand­le­bars JS för mall­han­te­ring. Ni kom­mer höra bra myc­ket mer om Ember sena­re (kanske en hel del svä­rord, jag och Ember kom­mer inte helt över­ens: Hon är ju så snygg, men tyvärr har hon en ten­dens att tyc­ka att man bor­de veta vad man gjor­de för fel), men i det här inläg­get tänk­te jag gå in på verk­tyg som använ­der Node JS, en platt­form för att ska­pa nät­verksap­pli­ka­tio­ner.

Installering

Note­ra: Jag använ­der Ubun­tu som utveck­lings­mil­jö. 12.10 hem­ma och lap­top, och 12.04 på job­bet, så all­ting är base­rat på det­ta system. Myc­ket går nog att använ­da i and­ra system som base­ras på *nix, men Win­dow­san­vän­da­re kom­mer tyvärr att behö­va hit­ta sina egna instal­la­tions­in­struk­tio­ner.

Först en quick “got­cha” som slog mig när jag bör­ja­de föl­ja instruk­tio­ner­na i Ghost TXs inlägg från i april:

sudo apt-get install build-essential

Du behö­ver ha build-essen­ti­al för att kun­na byg­ga ver­sions­han­te­ra­ren som vi ska använ­da, eftersom den behö­ver en C++ (eller lik­nan­de) kom­pi­la­tor.

Näs­ta steg är att instal­le­ra ett hjälp­pro­gram som kan hål­la reda på fle­ra oli­ka ver­sio­ner av Node. Det­ta kan vara myc­ket vik­tigt eftersom det finns verk­tyg som inte stö­der de nyas­te ver­sio­ner­na. Det finns fle­ra ver­sio­ner, men jag hit­ta­de NVM av Cre­a­tio­nix, och ser ing­en orsak att byta bort från den.

NVM lig­ger på Git­hub, så för att häm­ta filer­na behö­ver du instal­le­ra Git.

cd ~ #För att hamna tillbaka i hemmappen
git clone git://github.com/creationix/nvm.git ~/.nvm #Klonar repositoriet till mappen
. ~/.nvm/nvm.sh #Ser till att den öppna terminalen hittar nvm
echo '[[ -s "$HOME/.nvm/nvm.sh" ]] && source "$HOME/.nvm/nvm.sh"' >> ~/.bashrc #Lägger till i .bashrc att nvm ska laddas. Beroende på OS kan det vara den eller .bash_login
. ~/.bashrc #"laddar om" .bashrc
nvm install v0.8.15 #Eller vilken version du nu vill använda
nvm alias default 0.8.15

Så kom­mer NPM, vil­ket är Nodes Pac­kage Mana­ger. Det­ta kom­man­do ska köras i hem­map­pen:

curl https://npmjs.org/install.sh | sh

En snabb “got­cha”: npm install <modul> instal­le­rar modu­len lokalt. npm install -g <modul> instal­le­rar den glo­balt. Om du läg­ger till sudo fram­för kom­man­dot så blir det sena­re svårt att använ­da det, åtminsto­ne enligt vad jag har märkt.

Ett bra kom­man­do för npm: npm list. Med -g swit­chen visar den glo­ba­la modu­ler instal­le­ra­de, utan visar den loka­la modu­ler instal­le­ra­de.

Eftersom inläg­get blev läng­re än jag tänkt (…och min blog gick pre­cis sön­der O.o) så kom­mer fort­sätt­ning­en med Grunt sena­re.