debian node vs nodejs howto

Instalando node.js en debian puede ser un martirio, a mi me ha sucedido varias veces y no consigo acordarme de una vez para otra.

Ante este error de consola:

:~$ npm install
npm WARN package.json gulp-rename@1.2.2 No license field.
npm WARN package.json node-sass-import-once@1.2.0 license should be a valid SPDX license expression
-
> node-sass@3.13.1 install ~/node_modules/gulp-sass/node_modules/node-sass
> node scripts/install.js

sh: 1: node: not found
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

Debido a una decisión del comité técnico de Debian el el 2012, el paquete de Node.js en debian pasa a ejecutarse con el comando nodejs y no con node por lo que genera errores en cascada en los script dependientes preparados para desarrolar software precompilado.

SOLUCIÓN: instalar el paquete nodejs-legacy como explicado aqui

:~$sudo apt search nodejs-legacy
Sorting... Done
Full Text Search... Done
nodejs-legacy/unstable,unstable 4.7.2~dfsg-2 all
 evented I/O for V8 javascript (legacy symlink)
 sudo apt install nodejs-legacy

Y así conseguimos instalar npm para el paquete deseado:

:~$ npm install
npm WARN package.json gulp-rename@1.2.2 No license field.
npm WARN package.json node-sass-import-once@1.2.0 license should be a valid SPDX license expression
\
> node-sass@3.13.1 install ~/node_modules/gulp-sass/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/linux-x64-46_binding.node
Download complete
Binary saved to ~/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-46/binding.node
Caching binary to ~/.npm/node-sass/3.13.1/linux-x64-46_binding.node

> node-sass@3.13.1 postinstall ~/node_modules/gulp-sass/node_modules/node-sass
> node scripts/build.js

Binary found at ~/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-46/binding.node
Testing binary
Binary is fine

> nauivanow2017z@1.0.0 postinstall ~/
> rimraf node_modules/**/*.info

gulp-sass@2.3.2 node_modules/gulp-sass
├── lodash.clonedeep@4.5.0
├── vinyl-sourcemaps-apply@0.2.1 (source-map@0.5.6)
├── through2@2.0.3 (xtend@4.0.1, readable-stream@2.2.5)
├── gulp-util@3.0.8 (array-differ@1.0.0, object-assign@3.0.0, array-uniq@1.0.3, beeper@1.1.1, lodash._reinterpolate@3.0.0, lodash._reevaluate@3.0.0, lodash._reescape@3.0.0, dateformat@2.0.0, replace-ext@0.0.1, minimist@1.2.0, has-gulplog@0.1.0, fancy-log@1.3.0, multipipe@0.1.2, gulplog@1.0.0, lodash.template@3.6.2, vinyl@0.5.3, chalk@1.1.3)
└── node-sass@3.13.1 (get-stdin@4.0.1, lodash.assign@4.2.0, async-foreach@0.1.3, in-publish@2.0.0, nan@2.5.1, mkdirp@0.5.1, cross-spawn@3.0.1, chalk@1.1.3, gaze@1.1.2, glob@7.1.1, node-gyp@3.5.0, meow@3.7.0, npmlog@4.0.2, sass-graph@2.1.2, request@2.81.0)

 

 

ACTUALIZACIÓN: el manual de ariejan de vroom que podemos ver en este enlace [https://www.devroom.io/2011/10/24/installing-node-js-and-npm-on-ubuntu-debian/] ayuda a instalarlo de manera fácil sin apt.