etxtbsy err code busy laravel npm symlink homestead

laravel - code - npm instala errores en vagrant/homestead/windows: EPROTO: error de protocolo, enlace simbólico



etxtbsy text file is busy rename (2)

Estoy construyendo mi primer proyecto en Laravel y tratando de usar Elixir, usando homestead en Windows 8.1. He encontrado el problema conocido de npm / vagrant de nombres de ruta demasiado largos: https://harvsworld.com/2015/how-to-fix-npm-install-errors-on-vagrant-on-windows-because-the-paths-are-too-long/

Así que hice la edición de una línea recomendada en ese artículo (gracias a Dios por ese tipo), y luego corrí (con y sin sudo): npm install --no-bin-links

Me ha adelantado, así que ahora tengo dos tipos diferentes de errores: algunos errores de ''Falta de acceso de escritura'' y un montón de errores "EACCES":

La salida de error me da mi siguiente pista en la búsqueda del tesoro (creo): intente ejecutar este comando nuevamente como root / administrador

Eso me lleva a esta publicación , pero la diferencia para mí es que no hay cambios incluso después de usar sudo (o actualizar mis permisos de usuario como así):

sudo chown -R $ USER / usr / local

sudo chown -R $ (whoami) ~ / .npm

Actualización: luego, después de la sugerencia a continuación , obtengo errores EPROTO y EXTXTBSY (incluso después de seguir la sugerencia solicitada para cambiar el nombre de npm-debug.log nuevamente:

Así que intenté ejecutar Gulp para ver si me daría pistas, y la salida de error me hizo hacer:

sudo npm rebuild node-sass

Ejecución que me da los mismos errores EPROTO y ETXTBSY, y el archivo npm-debug.log muestra: error EPROTO: error de protocolo, enlace simbólico ''../node-sass/bin/node-sass'' -> ''/ home / vagrant / Código / Family-laravel / node_modules / laravel-elixir / node_modules / gulp-sass / node_modules / .bin / node-sass ''

Luego, después de trabajar en otras cosas durante una hora, volví de nuevo y volví a hacer estos pasos, esta vez obteniendo muchos menos errores:

  • sudo npm -g install npm @ latest (fino)

  • sudo npm instala --no-bin-links (solo el error ETXTBSY y un error en la secuencia de ejecución del complemento, en la tarea ''sass'')

  • sudo npm reconstruir node-sass --no-bin-links (¡sin errores!)

  • trago (solo un error: no encontrado: notificar-enviar)

¡Acercarse!


He estado tratando de resolver este problema durante semanas. Esto es lo que hice para que funcione sin usar mi entorno de host:

Actualicé el nodo a la última versión en homestead de acuerdo con nodesource.com:

sudo apt-get install --yes nodejs curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash -

Actualicé npm a la última versión en homestead. Esto debe hacerse después de actualizar el nodo:

sudo npm -g install npm@latest

Ejecuté npm install en el directorio del proyecto laravel. También tuve que usar la fuerza para instalar todas las dependencias:

sudo npm install --no-bin-links sudo npm cache clear sudo npm install --force --no-bin-links

He reconstruido node-sass de acuerdo con un error de trago:

sudo npm rebuild node-sass --no-bin-links

Durante todo este proceso, si algo falla o después de cada instalación, usé:

sudo npm cache clear

Mi host es Windows 10, con el último virtualbox, el último vagabundo, la última granja. Utilicé git bash como administrador y ssh en vagrant usando git bash.

Hasta ahora solo he probado y confirmado que mi trago funciona. Es posible que otras dependencias necesiten ser reconstruidas.

¡Espero que esto ayude!


La causa de su error inicial de EACCES fue que usó sudo sin usar la opción -H . NUNCA use sudo npm . SIEMPRE use sudo -H npm .

Las instrucciones en Internet en todas partes (incluidos los documentos de NPM) son simplemente incorrectas.