【问题标题】:Sinatra - How do i deploy gem on local ruby serverSinatra - 我如何在本地 ruby​​ 服务器上部署 gem
【发布时间】:2014-12-24 07:55:36
【问题描述】:

为这个相当基本的问题道歉,但我被卡住了,找不到帮助。

我在 Ruby 1.9.3 上运行 Sinatra。我已经成功安装了 Sinatra、Devkit(Windows 需要)和所有相关的 gem 以及来自 github 的“hello world”gem:`https://github.com/bergcloud/lp-publication-hello-world

现在我下载了一个名为 daily puzzle 的 gem,我很想对其进行修改并在我自己的服务器上运行。我可以捆绑 exec gem,但 Gemfile.lock 中的版本与我当前正在运行的不同:

specs:
  daemons (1.1.9)
  eventmachine (1.0.0)
  json (1.7.7)
  rack (1.5.2)
  rack-protection (1.3.2)
    rack
  sinatra (1.3.4)
    rack (~> 1.4)
    rack-protection (~> 1.3)
    tilt (~> 1.3, >= 1.3.3)
  thin (1.5.0)
    daemons (>= 1.0.9)
    eventmachine (>= 0.12.6)
    rack (>= 1.0.0)
  tilt (1.3.3)

所以我将文件更改为:

specs:
  daemons (1.1.9)
  eventmachine (1.0.4)
  json (1.5.5)
  rack (1.6.0)
  rack-protection (1.5.3)
    rack
  sinatra (1.4.5)
    rack (~> 1.4)
    rack-protection (~> 1.4)
    tilt (~> 1.3, >= 1.3.4)
  thin (1.6.3)
    daemons (~> 1.0, >= 1.0.9)
    eventmachine (~> 1.0)
    rack (~> 1.0)
  tilt (1.4.1)

我现在可以运行服务器了。但是,当我访问 localhost:4567 时出现404 错误。

我认为我做错了什么,但不知道是什么。

任何帮助表示赞赏!

【问题讨论】:

  • 1.永远不要手动更新Gemfile.lock。所有更改都应通过Gemfile 进行。 2. 请粘贴 Gemfile 和您的应用代码。据我了解,我看到您在应用程序文件中定义的路由没有索引路径。也就是说,没有get '/' do 块。
  • 您好 Kashyap,感谢您的快速回复。这是 gem 文件: source 'rubygems.org' ruby​​ '1.9.3' gem 'sinatra' gem 'thin' gem 'json'
  • 但我无法通过应用程序代码,因为它对于评论字段来说太长了。你介意在这里检查一下吗:github.com/bergcloud/lp-daily-puzzle
  • 我运行了你的代码,它似乎工作正常:dropbox.com/s/xrbdhh2vsa15vge/…
  • 太棒了!我终于明白我需要运行 /edition/ :) 非常感谢!

标签: sinatra


【解决方案1】:

您的应用程序中没有定义/ 路由。您应该访问/edition/(尾随/)和/或/sample/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-07
    • 2013-02-03
    • 1970-01-01
    • 2012-12-09
    相关资源
    最近更新 更多