bundle exec命令失败,但给出退出代码0

问题描述

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

解决方法

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

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

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

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

TL; DR 很可能bundle exec不会失败(它会在正确的环境中启动create_namespace“命令”),但是该命令本身会失败而不设置退出正确编码。