首页 > 解决方案 > bundle exec 命令失败但给出退出代码 0

问题描述

我尝试bundle exec create_namespace在 Ubuntu 上运行命令。它给出错误,但退出代码 = 0。是否有另一种方法来捕获bundle exec create_namespace命令的失败?

标签: ruby-on-railsubuntu-18.04exit-code

解决方案


bundle exec 在捆绑包的上下文中执行命令(来自bundle exec --help)。

如果您传递一个未找到的可执行文件名,例如bundle exec thisisnotwhatyouarelookingfor,它将以状态码 != 0 退出。

“您的”命令 ( create_namespace) 必须是自提供的脚本,很可能是您正在处理的东西,或者位于您使用的存储库中的东西。然后,该脚本负责以“正确的”退出代码退出。

您需要提供有关您的环境和可执行文件的更多信息,以便人们深入研究该问题。要自己查找可执行文件,如果它是 gem 并遵循约定,find . -name "create_namespace*" should point you in the right direction (most likely in 则为 ./bin ./exe`)。or

TL;DR很可能bundle exec不会失败(它create_namespace在正确的环境中启动“命令”),但命令本身会在没有正确设置退出代码的情况下失败。


推荐阅读