我想将主机的Gradle用户主页与来宾同步,所以我正在使用这个Vagrant配置:
config.vm.synced_folder `./gradlew -q gradleHome`, "/home/vagrant/.gradle"
我已经构建了一个Gradle任务来打印Gradle用户主页。当我刚刚运行此任务时,它工作正常:
C:\Users\chris\work\myproject>gradlew -q gradleHome
C:\Users\chris\.gradle
但是当我试图“流浪”时,它会抱怨:
* The host path of the shared folder is missing: C:/Users/chris/.gradle
请注意使用正向和反斜杠。该目录确实存在。
答案 0 :(得分:1)
您可能需要将gradle命令解析为C:\ Users \ chris \ .gradle或C:/Users/chris/.gradle
您可以尝试使用以下3个值替换Vagrant文件和硬编码:
1. C:\\Users\\chris\\.gradle
2. C:/Users/chris/.gradle
3. C:\Users\chris\.gradle
只有前2个应该有效,第3个将返回错误。
显然smb
仅为Windows用户保留,因此如果您与其他人共享它将无法正常工作,但我认为它是为Windows保留的,路径的分辨率会更宽容。
答案 1 :(得分:0)
运行Gradle返回的字符串中有换行符。我的Vagrantfile中的这一行可以解决问题:
config.vm.synced_folder `./gradlew -q gradleUserHome`.strip, "/home/vagrant/.gradle"
(我在命令中加了.strip。)