53 votos

Compartan de errores MNP al instalar paquetes en windows

Tengo Ubuntu 12.10 se ejecuta como un VMware invitado en mi Windows 8 host.

He compartido una carpeta en mi Windows 8 Host y se monta en el Ubuntu invitado en el inicio mediante esta entrada en fstab:

//myhost/work /work cifs credentials=/home/user/.smbcredentials,noserverino,nounix,uid=user,gid=user,file_mode=0777,dir_mode=0777 0 0 

La parte funciona bien y es capaz de ser servido por un servidor web, tales como nginx.

Sin embargo, no parece haber problemas cuando instalo node.js paquetes mediante un mecanismo nacional de prevención, tengo un montón de errores como este:

user@ubuntu:/work/test$ sudo npm install grunt
npm http GET https://registry.npmjs.org/grunt
npm http 304 https://registry.npmjs.org/grunt
...
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/work/test/node_modules/grunt/node_modules/lodash'
npm ERR! error rolling back  grunt@0.4.1 { [Error: ENOTEMPTY, rmdir '/work/test/node_modules/grunt/node_modules/lodash']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/work/test/node_modules/grunt/node_modules/lodash' }
npm ERR! Error: UNKNOWN, symlink '../which/bin/which'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-26-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /work/test
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! path ../which/bin/which
npm ERR! code UNKNOWN
npm ERR! errno -1
npm ERR! Error: ENOENT, chmod '/work/test/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-26-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /work/test
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! path /work/test/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt
npm ERR! fstream_path /work/test/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! fstream_finish_call chmod
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:305:19
npm ERR! fstream_stack Object.oncomplete (fs.js:93:15)
npm ERR! Error: ENOENT, lstat '/work/test/node_modules/grunt/node_modules/minimatch/test/basic.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.5.0-26-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "grunt"
npm ERR! cwd /work/test
npm ERR! node -v v0.10.0
npm ERR! npm -v 1.2.14
npm ERR! path /work/test/node_modules/grunt/node_modules/minimatch/test/basic.js
npm ERR! fstream_path /work/test/node_modules/grunt/node_modules/minimatch/test/basic.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /usr/lib/node_modules/npm/node_modules/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:93:15)
npm ERR! Error: ENOENT, lstat '/work/test/node_modules/grunt/node_modules/glob/test/00-setup.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
...
npm ERR! not ok code 0
user@ubuntu:/work/test$ 

Lo que podría estar causando este problema? Desde la línea de comandos, puedo chmod, rmdir , entre otras cosas, el uso de sudo sin ningún tipo de problemas.

119voto

F21 Puntos 1426

Con --no-bin-links fijo para mí:

npm install --no-bin-links

--no-bin-linksdice npm que no crear los enlaces simbólicos. Hay una manera (que yo sepa) de la traducción de enlaces simbólicos a una parte de Windows.

6voto

matiangul Puntos 31

Cómo permitir la creación de enlaces simbólicos en windows esta página me ha ayudado mucho lo que explica que esto ocurre incluso si la carpeta compartida se puede escribir.

Para solucionarlo, es necesario habilitar los enlaces simbólicos característica en VirtualBox.

Ejecutar en la consola cmd:

VBoxManage setextradata YOURVMNAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME 1

A continuación, compruebe por:

VBoxManage getextradata YOURVMNAME enumerate

Si el usuario pertenece al grupo Administradores, a continuación, iniciar VirtualBox con "Ejecutar como Administrador"!

Por defecto, Windows 7 política de seguridad no permite la creación de enlaces simbólicos, ya que es una amenaza potencial para la seguridad. Ejecutar "secpol.msc" y vaya a "Políticas Locales-Asignaciones de Derechos de Usuario" y agregar tu usuario "Crear enlaces simbólicos". No probé eso, pero podría ser que después de que virtualbox se puede ejecutar como un usuario normal.

3voto

hao Puntos 21

De acuerdo con lorem, pero no es suficiente.

  1. ejecutar Virtualbox 'como un administrador"en Windows.

  2. Asegúrese de que ejecuta:VBoxManage.exe setextradata YOUR_VM BoxInternal2/SharedFoldersEnableSymlinksCreate/YOUR_SHARED_FOLDER 1

Cambie el YOUR_VM y YOUR_SHARED_FOLDER con sus valores. Puede comprobar el valor a través de:VBoxManage.exe getextradata boot2docker-vm enumerate

Hay un error de virtualbox este número de seguimiento.

2voto

lorem monkey Puntos 111

Las nuevas versiones de VirtualBox deben permitir crear los enlaces simbólicos si iniciar VirtualBox como administrador (click derecho: ejecutar como administrador).

Igual se aplica a cajas de vagos: basta con ejecutar el cmd.exe/PowerShell como admin y usted es buenos ir.

0voto

Edu Ruiz Puntos 101

en este mecanismo nacional de prevención problema @drmyersii dar una gran solución, sólo voy a copiar y pegar para no vincular la única respuesta.

La verdadera solución sería la de establecer su configuración para permitir a los los enlaces simbólicos en los hosts de Windows en su Vagrantfile. He aquí un ejemplo (suponiendo que esté corriendo en VirtualBox):

config.vm.provider "virtualbox" do |v|
    v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
end

esto funcionó muy bien para mí y ahora puedo usar trago con scotchbox.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: