javascript - usr - npm:depende: node-gyp(>= 0.10.9) pero no va a instalarse
Error al instalar node-gyp en ubuntu (9)
npm http 200 https://registry.npmjs.org/weak/-/weak-0.2.2.tgz
npm http GET https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/bindings
> [email protected] install node_modules/weak
> node-gyp rebuild
Traceback (most recent call last):
File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 18, in <module>
sys.exit(gyp.script_main())
AttributeError: ''module'' object has no attribute ''script_main''
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:337:16)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Linux 3.11.0-15-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! node -v v0.10.15
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the weak package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls weak
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.11.0-15-generic
npm ERR! command "node" "/usr/bin/npm" "install" "[email protected]"
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.23
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0
No tengo una dependencia directa en weak o node-gyp, pero supongo que es necesario para mis otras dependencias (express, phantom, ejs, aws-sdk, moment). ¿Alguien se enfrentó a tal problema y fue capaz de solucionarlo?
En Fedora 20, la reinstalación de gyp me solucionó esto.
sudo yum reinstall gyp
En Ubuntu 10.04, la instalación de libicu resolvió mi problema.
sudo apt-get install libicu-dev
Este comando sudo apt-get install build-essential
ayudó en mi caso.
Esto es lo que funcionó. Necesita Python 2.6 durante la instalación.
#!/bin/bash
#On Ubuntu Saucy:
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python2.6
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.6 20
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10
#you can switch between 2.6 & 2.7 using:
sudo update-alternatives --config python
#Btw I installed node using ppa:chris-lea/node.js
Estos son los pasos para instalar node-gyp con éxito en un sistema Ubuntu:
1.Primero, instale la herramienta de creación "make" en Ubuntu con los siguientes comandos:
sudo apt-get update && /
sudo apt-get install build-essential software-properties-common -y;
2. Luego necesita instalar la herramienta adecuada para compilar C / C ++. Instalaremos GCC aquí con los siguientes comandos:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && /
sudo apt-get update && /
sudo apt-get install gcc-snapshot -y && /
sudo apt-get update && /
sudo apt-get install gcc-6 g++-6 -y && /
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave
/usr/bin/g++ g++ /usr/bin/g++-6 && /
sudo apt-get install gcc-4.8 g++-4.8 -y && /
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave
/usr/bin/g++ g++ /usr/bin/g++-4.8;
3. Instala la versión de Python 2.7. (Nota: Python 3 no es compatible con node-gyp).
sudo apt update
sudo apt upgrade
sudo apt install python2.7 python-pip
4. Y finalmente instalar, el paquete node-gyp npm:
npm install -g node-gyp
Adicional pero no importante: si tiene un problema relacionado con la distribución del teclado del átomo con node-gyp, instale el siguiente paquete más:
sudo apt-get install libxkbfile-dev
¡Eso es todo! Debería estar funcionando bien ahora.
FWIW, tuve un problema similar al tratar de instalar Protractor en Ubuntu 14.04 (DigitalOcean). Reinstalando node-gyp lo arregló:
apt-get install node-gyp
Me enfrenté a este problema en Ubuntu 16.04 mientras trataba de instalar la extensión wikimedia mateoid.
Probé todo lo que se sugirió y nada funcionó hasta que lo hice:
sudo apt-get install librsvg2-2 librsvg2-dev
Si su versión de Python no es el origen del error, verifique si tiene instalado "gyp". Esto está en conflicto con la versión de gyp en node-gyp.
apt-get remove gyp
https://github.com/TooTallNate/node-gyp/issues/363#issuecomment-32234646
Ya tenía build-essential
instalado. Solo tuve que correr:
sudo apt install python