2011-05-20 10 views
17

Estoy tratando de utilizar la NGP en cygwin, pero siguen dando siguientes errores:NPM en Cygwin: fin de archivo inesperado

ERR! tar "-mvxpf" "-" "--no-same-owner" "-C" "/tmp/npm-1305893882865/1305893885765-0.008730818051844835/contents/___package.npm" tar: Unexpected EOF in archive 
ERR! tar "-mvxpf" "-" "--no-same-owner" "-C" "/tmp/npm-1305893882865/1305893885765-0.008730818051844835/contents/___package.npm" tar: Unexpected EOF in archive 
ERR! tar "-mvxpf" "-" "--no-same-owner" "-C" "/tmp/npm-1305893882865/1305893885765-0.008730818051844835/contents/___package.npm" tar: Error is not recoverable: exiting now 
ERR! tar "-mvxpf" "-" "--no-same-owner" "-C" "/tmp/npm-1305893882865/1305893885765-0.008730818051844835/contents/___package.npm" 
ERR! Failed unpacking /tmp/npm-1305893882865/1305893885765-0.008730818051844835/tmp.tgz 
ERR! couldn't unpack /tmp/npm-1305893882865/1305893885765-0.008730818051844835/tmp.tgz to /tmp/npm-1305893882865/1305893885765-0.008730818051844835/contents 
verbose about to build /home/Tema/node_modules/express 
ERR! error installing [email protected] Error: Failed tar "-mvxpf" "-" "--no-same-owner" "-C" "/tmp/npm-1305893882865/1305893885765-0.008730818051844835/contents/___package.npm" 

Hay par de consejos Busqué en Google (caché NPM limpio y rebaseall), pero nada ayudó . Entonces, ¿hay alguna forma de usar NPM en Cygwin?

+0

yo también! Obtuve un error similar al anterior e hice un caché npm clean y también un rebaseall y ahora npm install express parece colgarse con gzip consumiendo 100% cpu? – molicule

+0

hmm, no, muestra los errores anteriores y sale con "npm no está bien". parece que tenemos que cambiar a linux vm ... – spacevillain

+0

Puede valer la pena preguntar sobre esto en #nodejs, si no lo ha hecho ya. –

Respuesta

2

que tienen el mismo problema a mí mismo muy a menudo.

no sé cómo solucionarlo, sin embargo sé que el error se produce de forma irregular. Si intenta instalar el paquete npm nuevamente, puede funcionar. Solo sigue intentando y eventualmente funcionará.

Cuando se queda atascado en el 100% de la CPU, simplemente cancelarlo (Ctrl + C) y vuelva a intentarlo. Además, no cambie a otra ventana mientras instala un paquete.

También puede instalar manualmente el paquete acaba con wget y tar dentro de la carpeta node_modules.

+0

Funcionó por tercera vez para mí. – Shagglez

1

tratar de eliminar archivos temporales con este comando:

$ rm /tmp/npm-* 

luego instalar de nuevo. trabajó para mi.

1

pequeño parche para /usr/local/lib/node_modules/npm/lib/utils/tar.js

--- tar.js.old 2011-07-15 15:23:09.205440100 +0700 
+++ tar.js 2011-07-15 15:25:58.327113300 +0700 
@@ -20,6 +20,7 @@ 
, relativize = require("./relativize") 
, cache = require("../cache") 
, excludes = require("./excludes") 
+ , child_process = require("child_process"); 

exports.pack = pack 
exports.unpack = unpack 
@@ -168,13 +169,17 @@ 
//console.error(npm.config.get("gzipbin")+" --decompress --stdout " 
// +tarball+" | "+npm.config.get("tar")+" -mvxpf - -o -C " 
// +tmp) 
- pipe(spawn(npm.config.get("gzipbin") 
- , ["--decompress", "--stdout", tarball] 
- , process.env, false) 
- , spawn(npm.config.get("tar") 
- , ["-mvxpf", "-", "-o", "-C", tmp] 
- , process.env, false) 
- , function (er) { 
+ // pipe(spawn(npm.config.get("gzipbin") 
+ // , ["--decompress", "--stdout", tarball] 
+ // , process.env, false) 
+ // , spawn(npm.config.get("tar") 
+ // , ["-mvxpf", "-", "-o", "-C", tmp] 
+ // , process.env, false) 
+ // , function (er) { 
+ 
+ child_process.exec(npm.config.get("gzipbin")+" --decompress --stdout " 
+ +tarball+" | "+npm.config.get("tar")+" -mvxpf - --no-same-owner -C " +tmp 
+ , function (er, stdout, stderr) { 
// if we're not doing ownership management, 
// then we're done now. 
if (er) return log.er(cb, 
+0

Intenté este parche, y NO funciona (nodo 0.4.11, npm 1.0.27, Cygwin/WinXP). El error fue: 'npm ERR! No pudimos deshacer /tmp/npm-1314406924278/1314406936833-0.9859440890140831/tmp.tgz a /tmp/npm-1314406924278/1314406936833-0.9859440890140831/contents ERR NPM!Error: EACCES, Permiso denegado '/tmp/npm-1314406924278/1314406936833-0.9859440890140831/contents/___ package.npm/package''. He establecido 'inseguro-permanente' y me he asegurado de que los directorios requieran permisos, ¿alguna otra idea? (Intenté todas las sugerencias enumeradas en esta pregunta) – Amro

+0

Tengo el mismo problema. –

3
  1. soplar el directorio tmp de distancia

    rm -R /tmp/* 
    
  2. claras de la NGP caché

    npm cache clean 
    
  3. Salga de su shell actual e inicie un shell de cenizas o saltos (desde en cygwin/bin)

  4. En el shell de cenizas (o guiones) ejecute el comando rebaseall.

    /bin/rebaseall -v 
    
  5. Salga y reinicie un nuevo shell bash.

  6. probar su comando NPM nuevo.

    npm install <package> 
    
+0

No funciona para mí :( –

+0

npm caché limpio lo hizo por mí, gracias :) – mck

0

Si sucede, trate de eliminar módulos parcialmente extraídos del directorio .npm (podría estar ubicado en el directorio inicial: ~/.npm) e inténtelo de nuevo (dos o más).

Cuestiones relacionadas