2016-04-07 6 views
0

Я пытаюсь настроить CentOS 7 как свою область разработки в Virtual Box 5.0.2. Я делюсь папкой проекта с хостом, который запускает Windows 7, с гостем (тогда я могу использовать графический интерфейс Windows и использовать среду IDE для взаимодействия с окнами, а мой код работает в CentOS).Как создать символическую ссылку в виртуальной коробке 5.0.2, CentOS 7 в качестве гостевой, Windows 7 как хост

Я занимаюсь разработкой в ​​узле. При настройке моего проекта и делать npm install, я получил сообщение об ошибке, как:

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 ] 

Когда я искал в Интернете, я получаю знать проблема с симлинками. Symlinks отключены по умолчанию в общих папках, поэтому следующие также не:

ln: failed to create hard link ‘ln-server.js’ => ‘server.js’: Operation not permitted 

Я пробовал:

  • sudo на гостя
  • «Запуск от имени администратора» виртуального окна на хосте.
  • VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
  • Обновлено пользователя политики безопасности и позволили создать символические ссылки на «все»
  • Разрешенные все привилегии для всех на настройки безопасности свойств папки проекта в хост-машине.

Я уже использовал следующие ссылки:

Обновление (2016-04-21): На данный момент я сделал работу. Я делаю npm install в каталоге, который не является общим, а затем переместил каталог node_modules в общий каталог, и нет проблем. Поскольку мы не устанавливаем модули так часто, это нормально. Но все же было бы здорово, если бы можно было указать на это реальное решение.

ответ

2

Самый простой способ справиться с проблемами node_modules в VM из общей папки проекта для Windows, чтобы связать монтирование node_modules из другого места в файловой системе Linux, но не забудьте установить его после VirtualBox общая файловая система смонтирована.

mkdir -p /home/wdd/node_modules /home/wdd/share/mynps-corporate-client/node_modules

sudo mount --bind /home/wdd/node_modules /home/wdd/share/mynps-corporate-client/node_modules

Вы не будете видеть содержимое node_modules вне виртуальной машины, но вы не будете иметь больше проблем с символическими ссылками или длины пути.