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! http://github.com/isaacs/npm/issues
ERR! or email it to:
ERR! npm-@googlegroups.com
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à :)