在 Linux 上使用 gaction 更新 Google Home/Assistant 包时,Golang 运行时出现恐慌?

2023-12-05

我正在尝试使用本教程中的说明在 Linux 14.04 LTS 机器(不是 Windows)上构建我的第一个 Google Home 应用程序:

https://medium.com/google-cloud/building-your-first-action-for-google-home-in-30-minutes-ec6c65b7bd32

我的应用程序成功部署到 Google Cloud。但是,当我到达使用模拟器测试应用程序的部分时,以下内容gactions命令失败并显示消息“没有预览/模拟的帮助主题”

$ gactions preview --action_package action.json --invocation_name "three doors" --preview_mins 1234

No help topic for 'preview'

And:

$ gactions simulate

No help topic for 'simulate'

然后我尝试切换到模拟器的 Google Actions 说明:

https://developers.google.com/actions/tools/simulator

该文档指示我使用以下命令上传我的 Actions 项目:

$ gactions update --action_package action.json --project three-doors-9898

但这会导致 Golang 恐慌崩溃,并显示以下堆栈跟踪:

    panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x506df6]

goroutine 1 [running]:
github.com/urfave/cli.HandleAction.func1(0xc4200fd208)
    /usr/local/google/home/gkal/code/go/src/github.com/urfave/cli/app.go:478 +0x27a
panic(0x737b00, 0x960720)
    /usr/lib/google-golang/src/runtime/panic.go:491 +0x283
github.com/Jeffail/gabs.(*Container).Bytes(0x0, 0x0, 0x0, 0x3000100)
    /usr/local/google/home/gkal/code/go/src/github.com/Jeffail/gabs/gabs.go:459 +0x26
github.com/Jeffail/gabs.(*Container).String(0x0, 0xc420123350, 0x793672)
    /usr/local/google/home/gkal/code/go/src/github.com/Jeffail/gabs/gabs.go:483 +0x2b
main.getLocaleFromActionPackage(0xc4203a60a0, 0xb, 0xc4203a60a0)
    /usr/local/google/home/gkal/code/go/src/github.com/gkaldevrel/cli/gactions/gactions.go:605 +0xdf
main.commandUpdate.func1(0xc42008cf00)
    /usr/local/google/home/gkal/code/go/src/github.com/gkaldevrel/cli/gactions/gactions.go:726 +0x209
reflect.Value.call(0x717fa0, 0x7a9988, 0x13, 0x793011, 0x4, 0xc4200fd1c8, 0x1, 0x1, 0xc4200fd150, 0x788860, ...)
    /usr/lib/google-golang/src/reflect/value.go:434 +0x906
reflect.Value.Call(0x717fa0, 0x7a9988, 0x13, 0xc4200fd1c8, 0x1, 0x1, 0x614896, 0x7930f1, 0x4)
    /usr/lib/google-golang/src/reflect/value.go:302 +0xa4
github.com/urfave/cli.HandleAction(0x717fa0, 0x7a9988, 0xc42008cf00, 0x0, 0x0)
    /usr/local/google/home/gkal/code/go/src/github.com/urfave/cli/app.go:487 +0x17a
github.com/urfave/cli.Command.Run(0x793732, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7a4928, 0x4b, 0x0, ...)
    /usr/local/google/home/gkal/code/go/src/github.com/urfave/cli/command.go:191 +0x9fd
github.com/urfave/cli.(*App).Run(0xc420001080, 0xc42000e0c0, 0x6, 0x6, 0x0, 0x0)
    /usr/local/google/home/gkal/code/go/src/github.com/urfave/cli/app.go:240 +0x57d
github.com/urfave/cli.(*App).RunAndExitOnError(0xc420001080)
    /usr/local/google/home/gkal/code/go/src/github.com/urfave/cli/app.go:257 +0x53
main.main()
    /usr/local/google/home/gkal/code/go/src/github.com/gkaldevrel/cli/gactions/gactions.go:157 +0xa02

下面是我的包文件(动作.json),我使用 JSON 验证器对其进行了验证:

{
    "versionLabel": "1.0",
    "agentInfo": {
        "languageCode": "en-US",
        "projectId": "three-doors-9898",
        "voiceName": "male_1"
    },
    "actions": [{
        "description": "Launch intent",
        "initialTrigger": {
            "intent": "assistant.intent.action.MAIN"
        },
        "httpExecution": {
            "url": "https://us-central1-three-doors-9898.cloudfunctions.net/three_doors"
        }
    }]
}

如何解决此问题并让我的 Google Home/Assistant 应用正常运行?

UPDATE: 版本gactions我正在使用来自这里:

我用的是Linux/x86_64在此页面上的链接即可获取它:

https://developers.google.com/actions/tools/gactions-cli .

是否有可能是我的系统版本错误?我正在运行 Ubuntu 14.04 LTS,64 位版本。


有一个新的 gactions 版本可用。尝试gactions selfupdate.

如果由于版本损坏而无法正常工作,请下载旧版并运行它。然后这个旧版本更新到 2.1.1,一切又恢复正常了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Linux 上使用 gaction 更新 Google Home/Assistant 包时,Golang 运行时出现恐慌? 的相关文章

随机推荐

  • org.apache.hadoop.mapreduce.counters.LimitExceededException:计数器太多:121 max=120

    我正在运行一个 hadoop 作业 来自 oozie 它有很少的计数器和多输出 我收到如下错误 org apache hadoop mapreduce counters LimitExceededException 计数器太多 121 ma
  • 网络服务器的实现[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想用纯 Java 实现我自己的网络服务器 Web 服务器应该仅支持静态资源 即 html js css 图片 电影等 您能推荐一个关于如何实现这样
  • 无法在字段值中使用 1(int 类型)作为 *int 类型

    为什么会产生错误 一样的int除了 with 指针 type Gim struct Active int yesVar Gim Active 1 error Cannot use 1 type int as type int in fiel
  • 如何在c中实现定时器?

    我们想在Linux平台下的C程序中添加一个定时器 我们正在尝试发送数据包 并且希望了解 1 分钟内发送了多少数据包 我们希望计时器与while正在执行发送数据包的循环 例如 while 1 send packets 该循环将继续发送数据包
  • Angular2 中使用 Angular-CLI 的环境特定服务端点

    我正在为我的 Angular2 项目使用 Angular CLI 我通过 angular2 服务调用后端 ajax 服务 我对于不同的任务有不同的服务端点 URL 我想让这些服务环境变得有意义 假设我有两个服务 客户服务 https loc
  • Boost Spirit 可选解析器和回溯

    为什么这个解析器离开 b 在属性中 即使选项不匹配 using namespace boost spirit qi std string str abc auto a char a auto b char b qi rule
  • 拥有值的一般方法(不指定“Rc”或“Box”)

    一般来说 当您不想指定时 是否有一个针对拥有值的枚举 特征how确切地说 该值是拥有的 无论共享与否 但您只想拥有它 我需要将对闭包的引用存储在结构中 这意味着它们必须与结构一样存在 当然 我无法复制它们 因此它们需要作为参考 但我不想做出
  • 如何访问向量中的最后一个值?

    假设我有一个嵌套在具有一层或两层的数据框中的向量 有没有一种快速而肮脏的方法来访问最后一个值 而不使用length 功能 类似 PERL 的东西 特殊变量 所以我想要这样的东西 dat vec1 vec2 代替 dat vec1 vec2
  • 找出两个日期之间的小时差?

    例如 我可以通过查看这两个日期来计算它们的差异 但在程序中计算时我不知道 日期 A 是2014 02 12 y m d 13 26 33且 B 是2014 02 14 y m d 11 35 06那么小时差是 46 我假设你将时间存储为字符
  • 为什么 g++ 找不到 iostream.h?

    我试图了解如何在 Ubuntu 上使用 g 和 最终 Clang 从命令行编译 C 程序 我找到了一个解释 MakeFiles 的网页 我正在遵循他们的指示 http mrbook org tutorials make 我将四个示例文件下载
  • for 循环事件驱动代码?

    在 Redis 数据存储中 我有一个键列表 我想迭代该键列表并从 Redis 获取这些值 问题是我正在使用事件驱动语言 即通过 node js 的 javascript 如果 javascript 是程序化的我可以这样做 function
  • Karate 0.9.6 到 1.0.1 升级问题与数组参数

    在空手道中发送空数组参数时 不会发送该参数 Example Given url homeUrl And path types And param filterTypes When method GET Then status 200 And
  • Firebase函数无法从源加载函数定义错误解决方案

    错误 无法从源加载函数定义 无法从 函数源生成清单 错误 ERR PACKAGE PATH NOT EXPORTED 包子路径 lib firestore 未由 Users macbook Desktop ein itin 中的 expor
  • 多值字典?

    任何人都知道一个好的实施MultiValueDictionary 基本上 我想要一个允许每个键有多个值的东西 我希望能够做类似的事情 dict Add key val 如果该键尚不存在 它将添加它 如果存在 它只会向该键添加另一个值 我只是
  • 如何使 django-registration 使用我自定义的 UserCreationForm 和 UserChangeForm?

    我正在使用 Django 1 4 开发一个网站django registration 我希望允许用户使用任意 Unicode 字符创建用户名 目前 如果有人尝试使用非拉丁字符注册 他将看到一条错误消息 负责拒绝这种非 ASCII 用户名的代
  • 使用 mvc3 下拉列表的 jquery 自动完成

    我正在使用 ASP NET MVC3 和 EF Code First 我以前没有使用过 jQuery 我想将自动完成功能添加到绑定到我的模型的下拉列表中 下拉列表存储 ID 并显示值 那么 如何连接 jQuery UI 自动完成小部件以在用
  • 删除列表中的重复项(Prolog)

    我对 Prolog 完全陌生 正在尝试一些练习 其中之一是 编写谓词集 InList OutList 它以任意输入作为输入 列表 并返回一个列表 其中每个 仅出现输入列表的元素 一次 这是我的解决方案 member X X member X
  • Android - 键盘覆盖输入框 - 即使在 Chrome 浏览器中也是如此

    是否有 HTML5 css js 解决方案可以在软键盘出现时弹出窗口内容 例如 如果您打开鸭鸭网在 Android 设备上并在输入字段中输入文本 当软键盘出现时 它会将内容向上突出 这样就不会覆盖输入框 比较一下Shottag com其中键
  • 如何使 MDI 子窗口位于其兄弟窗口之上?

    这个问题与我的上一个 我有一个 MFC VC6 MDI 应用程序 它有多个 MDI 子窗口 充当一个文档的不同视图 是否可以将其中一个框架设置为位于其他框架之上 我试过打电话 SetWindowPos GetParentFrame gt w
  • 在 Linux 上使用 gaction 更新 Google Home/Assistant 包时,Golang 运行时出现恐慌?

    我正在尝试使用本教程中的说明在 Linux 14 04 LTS 机器 不是 Windows 上构建我的第一个 Google Home 应用程序 https medium com google cloud building your firs