Ich versuche ein CentOS 7 als meine Entwicklungsbox in Virtual Box 5.0.2 einzurichten. Ich teile den Projektordner von dem Host, der Windows 7 ausführt, mit dem Gast (dann kann ich die Windows-GUI verwenden und eine IDE verwenden, um die Interaktion unter Windows zu machen, während mein Code auf CentOS läuft).Wie SymLink in virtueller Box 5.0.2, CentOS 7 als Gast, Windows 7 als Host erstellen
Ich mache einige Entwicklung in Knoten. Während meines Projektes Aufbau und npm install
tut, bekam ich einen Fehler wie:
49132 error Linux 3.10.0-327.13.1.el7.x86_64
49133 error argv "/home/wdd/nvm/versions/node/v5.10.0/bin/node" "/home/wdd/nvm/versions/node/v5.10.0/bin/npm" "install"
49134 error node v5.10.0
49135 error npm v3.8.3
49136 error path /home/wdd/share/mynps-corporate-client/node_modules/.staging/iconv-lite-94545a9f
49137 error code EPERM
49138 error errno -1
49139 error syscall rename
49140 error Error: EPERM: operation not permitted, rename '/home/wdd/share/mynps-corporate-client/node_modules/.staging/iconv-lite-94545a9f' -> '/home/wdd/share/mynps-corporate-client/node_modules/iconv-lite'
49140 error at destStatted (/home/wdd/nvm/versions/node/v5.10.0/lib/node_modules/npm/lib/install/action/finalize.js:25:7)
49140 error at FSReqWrap.oncomplete (fs.js:82:15)
49140 error
49140 error Error: EPERM: operation not permitted, rename '/home/wdd/share/mynps-corporate-client/node_modules/.staging/iconv-lite-94545a9f' -> '/home/wdd/share/mynps-corporate-client/node_modules/iconv-lite'
49140 error at Error (native)
49140 error { [Error: EPERM: operation not permitted, rename '/home/wdd/share/mynps-corporate-client/node_modules/.staging/iconv-lite-94545a9f' -> '/home/wdd/share/mynps-corporate-client/node_modules/iconv-lite'] parent: 'mynps-corporate' }
49141 error Please try running this command again as root/Administrator.
49142 verbose exit [ -1, true ]
Wenn ich online gesucht, ich das Problem mit der Symlinks wissen bekommen. Symlinks sind standardmäßig auf freigegebene Ordner deaktiviert, so dass die folgenden nicht auch:
ln: failed to create hard link ‘ln-server.js’ => ‘server.js’: Operation not permitted
ich versucht habe:
sudo
auf Gast- 'Ausführen als Administrator' virtuelle Box auf dem Host.
VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
- aktualisiert Benutzersicherheitspolitik und erlaubt schaffen symbolische Links auf ‚Jeder‘
- erlaubt alle Privilegien jeder auf Sicherheitseinstellungen der Projektordnereigenschaften in Host-Maschine.
Ich habe bereits die folgenden Links verwendet:
- Correct way to setup Virtualbox 4.3 to use symlinks on guest (for meteor)
- Symlinks in shared folder of virtual box with Windows 10 host
- https://www.virtualbox.org/ticket/10085
- https://askubuntu.com/questions/446317/how-to-make-guest-os-follow-symlinks-from-shared-folder
- https://superuser.com/questions/659270/accessing-symbolic-links-in-virtualbox
Update (2016-04-21): Für jetzt habe ich eine Arbeit gemacht. Ich mache eine npm install
in einem Verzeichnis, das nicht freigegeben ist, und dann das Verzeichnis node_modules in das freigegebene Verzeichnis verschoben, und es gibt kein Problem. Da wir Module nicht so häufig installieren, ist es in Ordnung. Aber es wäre großartig, wenn man eine echte Lösung dafür aufzeigen könnte.