VirtualBox 无法在共享目录中创建软连接(symlink)

在虚拟机Linux环境为共享目录下的项目执行 npm install 时报错

Error: EPERM: operation not permitted, symlink '../@babel/parser/bin/babel-parser.js' -> '/mnt/alidata/xxx/node_modules/.bin/parser'

检查后发现 VirtualBox 默认是禁止在共享目录中创建软连接的,需要手动设置打开

配置

在 Windows 宿主机上执行以下命令:

 D:\Program Files\virtuabox> ./VBoxManage.exe setextradata {虚拟机名称} VBoxInternal2/SharedFoldersEnableSymlinksCreate/{共享目录名称} 1
  • 虚拟机名称:

  • 共享目录名称

设置完毕以管理者身份重启 VirtualBox 即可。

检查配置是否生效

执行以下命令

PS D:\Program Files\virtuabox> ./VBoxManage.exe getextradata {虚拟机名称} enumerate

结果:

Key: GUI/LastCloseAction, Value: Detach
Key: GUI/LastNormalWindowPosition, Value: 0,29,2560,1351,max
Key: VBoxInternal2/SharedFoldersEnableSymlinksCreate/alidata, Value: 1  # 值为1为已生效