martes, 29 de abril de 2014

Instalar SQLite para NodeJS

En Ubuntu NodeJS esta en paquete nodejs y el comando para usarlo es nodejs a diferencia de node que es en el resto de la instalaciones, esto no debería generar muchos problemas, en lugar de node hay que usar nodejs. Al instalar sqlite con npm salió el siguiente error:
$ npm install sqlite3 --save
npm http GET https://registry.npmjs.org/sqlite3
npm http 200 https://registry.npmjs.org/sqlite3
npm http GET https://registry.npmjs.org/sqlite3/-/sqlite3-2.2.3.tgz
npm http 200 https://registry.npmjs.org/sqlite3/-/sqlite3-2.2.3.tgz

> sqlite3@2.2.3 install /home/virtual/Develop/test/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

/usr/bin/env: node: No existe el archivo o el directorio
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
 
npm ERR! weird error 127
npm ERR! not ok code 0 
Que en español es, no se encuentra el comando node. La solución fue enmascarar nodejs con un enlace simbólico; primero obtenemos la dirección de nodejs con:
$ which nodejs
/usr/bin/nodejs
Luego creamos el enlace simbólico con la dirección obtenida:
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
Solucionado, ya tenemos el comando node.
$ npm install sqlite3 --save
npm http GET https://registry.npmjs.org/sqlite3
npm http 304 https://registry.npmjs.org/sqlite3

> sqlite3@2.2.3 install /home/virtual/Develop/test/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

node-pre-gyp http GET https://node-sqlite3.s3.amazonaws.com/Release/node_sqlite3-v2.2.3-node-v11-linux-x64.tar.gz
node-pre-gyp http 200 https://node-sqlite3.s3.amazonaws.com/Release/node_sqlite3-v2.2.3-node-v11-linux-x64.tar.gz
[sqlite3] Success: "/home/virtual/Develop/test/node_modules/sqlite3/lib/binding/node-v11-linux-x64/node_sqlite3.node" is installed
sqlite3@2.2.3 node_modules/sqlite3

1 comentario:

  1. En Mavericks no me salio ningun error.. con los mismos comandos :)

    ResponderEliminar