El problema de instalar Yeoman en Ubuntu.
Bueno, el día de ayer me topé con un problema al querer instalar yeoman de manera global sobre mi distro ubuntu 14.04. A continuación describo los pasos que use para instalar yeoman, los problemas que tenia y como lo solucioné.
Antes de continuar consideremos lo siguiente:
- Node.js v0.10.x+
- npm (which comes bundled with Node) v2.1.0+
- git
Problemas:
Problemas de permisos al instalar yeoman de manera global.
Al instalar yeoman, bower y grunt desde npm no se puede acceder al comando una vez terminada la instalación.
npm install --global yo bower grunt-cli
npm install --global yo bower grunt-cliSolución:
Despues de darme cuenta de que la instalacion de yeoman me mandaba errores de permisos seguí las recomendaciones que vienen en la página de yeoman sobre los permisos de root al instalar paquetes, por ello me instalé el script:
https://github.com/glenpike/npm-g_nosudo
Después de esto aún no funcionaba.
Buscando en los errores que me devolvía npm al tratar de instalar yeoman me percate que me aparecía algo parecido a esto:
Buscando por stack overflow encontré la solución, resulta que ubutnu tiene un paquete llamado node (como nos pudimos dar cuenta si instalamos node a través de apt-get) y cuando se ejecuta el comando node en la instalación de los paquetes npm se manda a llamar al otro programa que nada tiene que ver con nuestra instalación de node.js. En lugar de llamarse a node debía de haberse llamado a nodejs. La solución fue simple, instalar otro paquete que corrigiera el problema de los symlinks, en este caso instale nodejs-legacy.
Después de lo anterior probé si se solucionaba el problema pero no aun no :/ así que seguí buscando.
Luego al ver que aun no podia ejecutar yo, bower ni grunt desde la consola volví a buscar una solución y me topé con esto:
echo prefix = ~/.node >> ~/.npmrchttps://github.com/glenpike/npm-g_nosudo
Después de esto aún no funcionaba.
Buscando en los errores que me devolvía npm al tratar de instalar yeoman me percate que me aparecía algo parecido a esto:
sh: 1: node: not found
npm ERR! error installing ...
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
npm WARN /usr/share/doc/nodejs/README.Debian
npm WARN
npm ERR! error installing ...
donde los ... es el paquete que instalaba.Buscando por stack overflow encontré la solución, resulta que ubutnu tiene un paquete llamado node (como nos pudimos dar cuenta si instalamos node a través de apt-get) y cuando se ejecuta el comando node en la instalación de los paquetes npm se manda a llamar al otro programa que nada tiene que ver con nuestra instalación de node.js. En lugar de llamarse a node debía de haberse llamado a nodejs. La solución fue simple, instalar otro paquete que corrigiera el problema de los symlinks, en este caso instale nodejs-legacy.
Después de lo anterior probé si se solucionaba el problema pero no aun no :/ así que seguí buscando.
Luego al ver que aun no podia ejecutar yo, bower ni grunt desde la consola volví a buscar una solución y me topé con esto:
echo 'export PATH=$HOME/.node/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
Después de esto ya pude acceder directamente a los comandos yo, grunt y bower:
$ yo [?] ========================================================================== [?] ========================================================================== We're constantly looking for ways to make yo better! May we anonymously report usage statistics to improve the tool over time? More info: https://github.com/yeoman/insight & http://yeoman.io ==========================================================================: Yes [?] What would you like to do? (Use arrow keys) ‣ Install a generator Find some help Get me out of here!
Toda una odisea, bueno les dejo las referencias de mi busqueda para que no pasen por el mismo dolor de cabeza.
https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo.md
https://github.com/glenpike/npm-g_nosudo
http://plaidzooks.tumblr.com/post/36894116867/using-node-js-on-debian-ubuntu-systems
http://truthyfalsey.com/yeoman-working-ubuntu/
Actualizado....
Me siguió dando problemas la configuración anterior, opte por volver a instalar node ahora con nvm
Ya con la instalacion de node a traves de nvm ya no me dio problemas la instalación y uso de yo, grunt y bower. ;)