Windows10部署OpenWhisk本地VM时:goPrepare任务创建软链接失败求助
解决OpenWhisk本地VM安装中goPrepare任务失败的问题
我之前在Windows环境部署OpenWhisk本地VM时也碰到过类似的问题,下面给你梳理下goPrepare任务的定位方法和报错的解决方案:
一、找到goPrepare任务的位置
你在openwhisk-cli或父目录的build.gradle里找不到goPrepare是正常的——这个任务并不是直接写在普通的build.gradle文件中,而是通过OpenWhisk自定义的Gradle插件注入的:
- 它的定义在OpenWhisk主项目的
buildSrc/src/main/groovy/org/apache/openwhisk/gradle/go/GoPrepare.groovy文件里,是专门处理Go语言模块构建准备工作的Gradle任务类。 - 如果你想验证它的存在,可以在VM中执行以下命令查看所有可用任务:
输出结果里会列出所有关联的./gradlew tasks --allgoPrepare任务,通常绑定在Go语言编写的组件构建流程中。
二、解决goPrepare任务创建软链接失败的问题
Windows环境下这个报错大多和权限或共享文件夹配置有关,试试下面的方法:
1. 以管理员身份运行终端
Windows系统创建软链接需要管理员权限,你需要:
- 关闭当前终端,右键点击你的终端工具(Git Bash/PowerShell),选择以管理员身份运行
- 重新进入
openwhisk/tools/vagrant目录,执行./hello命令
2. 调整Vagrant共享文件夹配置
打开openwhisk/tools/vagrant/Vagrantfile,找到共享文件夹的配置项,修改为支持软链接的设置:
config.vm.synced_folder ".", "/openwhisk", type: "virtualbox", mount_options: ["dmode=777", "fmode=777", "symlinks=true"]
修改后执行vagrant reload重启VM,再重新运行./hello。
3. 手动执行构建排查详细错误
通过vagrant ssh登录VM后,手动执行CLI构建命令,查看完整的错误日志:
cd /openwhisk ./gradlew :openwhisk-cli:releaseBinaries --info
这个命令会输出goPrepare任务执行的详细过程,能帮你精准定位是路径不存在、权限不足还是其他问题。
4. 临时跳过CLI构建(应急方案)
如果只是想先启动OpenWhisk环境,可以临时修改./hello脚本,注释掉构建CLI的相关步骤(比如调用./gradlew releaseBinaries的部分),先完成核心组件的部署,之后再单独处理CLI的构建问题。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

