1

这是一个简单的 sinatra 应用程序,它显示黄瓜在浏览器中运行的结果:

require 'sinatra'

get '/' do
    `cucumber features --format html`
end

get '/ls' do
    `ls`
end

根路由工作正常,在我的本地机器上做我想做的事:它执行 cucumber 并显示结果。问题是在我的服务器上我得到了错误No such file or directory - cucumber features --format html

到目前为止我已经完成的故障排除

  • 跑了ls路线。它在本地和服务器上都可以工作,并显示我在两种情况下都期望的目录的结果——sinatra 应用程序运行的同一目录。
  • 从命令行cucumber features --format html通过服务器上的 ssh 运行。同样,它工作正常,输出是我所期望的。

那么,当我使用 ruby​​ 的反引号通过 sinatra 运行它时,为什么会出现错误?

谢谢!

4

1 回答 1

1

Are you sure cucumber is installed on the server? If so, and it was installed via bundler, try changing the command to this:

bundle exec cucumber ...

Edit

Turns out cucumber was not in the path. Solution is to use the full path to cucumber.

于 2012-07-21T05:26:57.793 回答