nodejs on ARM ArchLinux

Installer Node.JS sur le Seagate DockStar, à base de processeur ARM, est un exercice auquel, je me suis essayé il y a 1 an avec Debian Linux. Je migre mes DockStars sur ArchLinuxARM, il faut donc compiler NodeJS !

Préparation de ArchLinuxARM

Il faut en premier lieu installer Python2, car par défaut, node.js a besoin de la version 2 de Python et non de la version 3 livrée par ArchLinuxARM ! Dans le répertoire /usr/bin/, faire un lien symbolique python pointant vers python2.

Compiler Node.js

Il existe dans le repository de ArchLinux ARM des versions de nodejs, qu'il faut compiler : JE N'AI PAS RÉUSSI !!

Donc, j'ai téléchargé le source depuis GitHUB :

git git clone --depth 1 git://github.com/joyent/node.git                                                                                   
git clone --depth 1 git://github.com/joyent/node.git
git checkout v0.4.12
cd node
git checkout v0.4.12

On lance la configuration par un :

./configure

Ensuite, il faut éditer le fichier Makefile généré, pour y apporter une modification ligne 115 en commentant la ligne :

#dist: doc/node.1 doc/api

puis :

make
make install

Et environ 40 minutes plus tard, vous voilà aux commandes d'un node.js pour ARM :)

Installation de npm gestionnaire de paquets pour NodeJS

Là rien de compliqué, enfin pour le moment ! J'ai suivi les recommandations du wiki de npm, le gestionnaire de paquets de node.js.

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

Puis, j'ai voulu utiliser npm pour installer quelques paquets et là pouin pouin pouin ... ERREUR !!

ERR! Error: SSL Error: undefined
ERR!     at ClientRequest. (/usr/local/lib/node_modules/npm/node_modules/request/main.js:239:28)
ERR!     at ClientRequest.g (events.js:143:14)
ERR!     at ClientRequest.emit (events.js:64:17)
ERR!     at HTTPParser.onIncoming (http.js:1357:9)
ERR!     at HTTPParser.onHeadersComplete (http.js:108:31)
ERR!     at CleartextStream.ondata (http.js:1231:22)
ERR!     at CleartextStream._push (tls.js:303:27)
ERR!     at SecurePair.cycle (tls.js:577:20)
ERR!     at EncryptedStream.write (tls.js:96:13)
ERR!     at Socket.ondata (stream.js:36:26)
ERR! Report this *entire* log at:
ERR!     
ERR! or email it to:
ERR!     
ERR! 
ERR! System Linux 3.0-ARCH
ERR! command "node" "/usr/local/bin/npm" "install" "twitter-node"
ERR! cwd /root
ERR! node -v v0.4.12
ERR! npm -v 1.0.30
verbose exit [ 1, true ]

J'ai ouvert un case sur GitHUB dans le repository de Isaacs, la solution serait de rétrograder la version de npm vers la 1.09 ... Il faut que j'essaie !

Et voilà :)