Ruby on rails `rake jasmine:ci`适用于c9,但运行rake jasmine会导致端口和IP问题

Ruby on rails `rake jasmine:ci`适用于c9,但运行rake jasmine会导致端口和IP问题,ruby-on-rails,jasmine,rake,cloud9-ide,Ruby On Rails,Jasmine,Rake,Cloud9 Ide,rake-jasmine:ci在c9上工作,但运行rake-jasmine似乎不工作(在端点上看不到任何内容),即使配置调整如下: Jasmine.configure do |config| config.server_port = ENV['PORT'] config.host = "http://#{ENV['IP']}" end (我还尝试了config.host=ENV['IP']) c9不再抱怨配置更新后我们的端口和IP错误,但是c9端点上没有运行的应用程序,rake jas

rake-jasmine:ci
在c9上工作,但运行
rake-jasmine
似乎不工作(在端点上看不到任何内容),即使配置调整如下:

Jasmine.configure do |config|
  config.server_port = ENV['PORT']
  config.host = "http://#{ENV['IP']}"
end
(我还尝试了config.host=ENV['IP'])

c9不再抱怨配置更新后我们的端口和IP错误,但是c9端点上没有运行的应用程序,rake jasmine的输出看起来确实正确:

tansaku@saasbook-ruby:~/workspace/myrottenpotatoes (master) $ rake jasmine
your server is running here: http://localhost:8080/
your tests are here:         /home/ubuntu/workspace/myrottenpotatoes/spec/javascripts
your source files are here:  /home/ubuntu/workspace/myrottenpotatoes

[2015-08-10 02:41:06] INFO  WEBrick 1.3.1
[2015-08-10 02:41:06] INFO  ruby 2.2.1 (2015-02-26) [x86_64-linux]
[2015-08-10 02:41:06] INFO  WEBrick::HTTPServer#start: pid=7713 port=8080
(我得到“这里似乎没有运行任何应用程序!”)相反,同一实例中的rails应用程序工作正常


我想知道jasmine在呈现端点方面是否做了一些事情来阻止c9端点工作;虽然我无法立即理解为什么它不会,因为c9被设置为同时提供rails和ruby应用程序…

您的服务器应该运行在0.0.0.0:8080,以便外部访问。我不确定为什么用ENV[“IP”]覆盖config.host仍然会给您“”的结果,因为在您的终端上运行
echo$IP
应该会给托管的Cloud9工作区带来
0.0.0
。请使用
config.host=”重试http://0.0.0.0“
config.host=“0.0.0.0”
只是为了确定。

啊,找到了解决方案。我们需要在jasmine.yml中设置机架选项:

rack_options:
  Host: '0.0.0.0'

现在它可以工作了

hi@mutahir-config.host=“”或config.host=“0.0.0.0”这两个选项都给出了完全相同的结果——从rake jasmine输出到端点上缺少应用程序。我相信某些系统会将0.0.0.0解释为localhost。也许这是一个rake jasmine bug,因为config.host设置被忽略了。。。它没有文档化——我只是从源代码中推断出来的……是的,我也查看了源代码。它应该可以工作,因为它的
attr\u访问器
,但由于某些原因,端口有一个显式的setter,而主机没有。不知道那是什么意思。在任何情况下,除非您能够在0.0.0.0:8080上列出,否则您将无法从外部访问它:(是的,我开始感觉到服务器没有引用主机变量: