问题标签 [rackup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
465 浏览

ruby - “shotgun”命令提示符 Ruby -“没有这样的文件或目录 - uname (Errno::ENOENT)”

我已将 Ruby 安装到我的 Windows PC 上,并且有一个 home.erb 文件,其中包含我的 app.rb 文件中描述的路由。

我的 Gemfile 目前看起来像:

我一直在“使用 Ruby 启动命令提示符”上运行“捆绑安装”命令。我已经成功地将“sinatra”、“shotgun”、“rake”(等等)gem 安装到 Ruby 应用程序上。

但是,每次我运行“shotgun”来查看我的网站正在运行时,我都会在终端中收到以下错误。

我的 Gemfile 在 Ruby24/lib/personalsite 下。

任何帮助将不胜感激,因为我刚刚开始网站开发!谢谢!!

0 投票
1 回答
707 浏览

heroku - Sinatra 错误(捆绑程序:加载命令失败:rackup)

将模块化 Sinatra 应用程序部署到 Heroku 时,我不断收到此错误:

bundler: failed to load command: rackup (/app/vendor/bundle/ruby/2.4.0/bin/rackup)

我尝试调整我的 config.ru 和 Procfile,但没有成功。以下是 config.ru 的内容:

档案:

库/app.rb:

请指出我正确的方向。

PS。我能够部署应用程序,但在尝试使用 Pony gem 发送电子邮件时出现上述错误。

编辑 20.07.2018: 我已经调试了这个并找到了导致崩溃的行:

https://gist.github.com/abbottjam/248edfd50f094f99b3bf5b1f995fd290#file-static-rb-L15

错误消息现在说:

内部服务器错误:没有将数组隐式转换为字符串

所以一定是configure_options下面方法中的代码块。仍然不知道应该在哪里进行数组 -> 字符串转换。谢谢。

0 投票
1 回答
680 浏览

ruby - Puma + Rackup + Sinatra:使用 rackup 时忽略配置文件

我在 Rubymine 和 Rackup 的上下文中与 puma 作斗争。我创建了一个绑定 usig ssl 的小应用程序,并从 /config/puma.rb 或 /config/puma/production.rb 获取其参数

如果我用 puma 或 Puma -C /config/puma.rb 或 puma -E production 启动它,那效果很好

不幸的是,用于 sinatra 应用程序的 RubyMine IDE 使用硬编码的 rackup 命令来启动服务器,此外还为 IP/Port 提供命令行参数,并且这个 puma 并没有真正读取它的配置文件。

在控制台中,它始终忽略配置文件:

rackup -E production Puma 从单一模式开始... * 版本 3.12.0 (ruby 2.4.5-p335),代号:Llamas in Pajamas * 最小线程:0,最大线程:16 * 环境:生产 * 监听 tcp: //0.0.0.0:9292

=> 错误的 ip、端口和没有 ssl!

  • 我尝试使用和不使用环境 => 不读取 ssl 绑定
  • 我试图将 config.ru 中带有 -OC=[path] 的 -C 参数转发到 puma 命令 => 不读取
  • 我试图避免这一切并在 sinatra 中做到这一点,但这在“启动”中已经很晚了

那么如何通过按下触发 rackup 的播放按钮来使用 Rubymine 运行 sinatra 应用程序?我需要执行配置文件,因为定义了我的 ssl 绑定...我需要使用 rackup 因为 ruby​​mine 强制它。我需要 ruby​​mine 进行调试

最后,我的所有期望都是:我或 ruby​​mine IDE 调用 rackup,它读取他的 config.ru,它调用 puma 并且 puma 正在寻找它的配置文件,依赖于 -E 但 puma 没有寻找它的文件

pumar.rb

配置.ru

哈希\ -s puma -O -C=./config/pumar.rb

需要“红宝石”

需要'./app'

运行应用

0 投票
0 回答
76 浏览

ruby-on-rails - Rackup 等效于定义的(Rails::Server)

我正在尝试在我的 rails 项目启动时立即运行一个方法。以前我使用以下内容在本地运行

虽然这在本地有效,但我们现在在 prod with 上运行bundle exec rackup,它为上述语句返回 false。我可以在我的 Rails 项目中调用一些东西来从 Rackup 开始立即执行一个方法吗?

0 投票
1 回答
268 浏览

ruby-on-rails - Rackup LoadError - 任何 config.ru 文件在使用 rackup 命令时都会出现 LoadError

好的,所以这是我的第一个问题。我准备好感觉自己很愚蠢,但是就这样吧。

在熟悉 Ruby on Rails 之前,我目前正在学习 Ruby。我一直在学习在线课程,此时我们刚刚学习了如何使用 rack 来处理服务器的一些逻辑,并运行 config.ru 文件来启动服务器。

但是,每次我尝试使用 rackup 启动服务器时,我都会得到LoadError这样的结果:

现在,我一直在用我能想到的每一个可能的角度猛击我的头。我理解这个错误是说 rackup 命令试图从中加载机架代码的路径不存在。我尝试制作多个不同的 .ru 文件来测试它是否是 shebang 的问题、.ru 文件的内容的问题等等。但情况似乎并非如此。我什至无法运行 rack gem 附带的示例 lobster.ru 文件。我犯了同样的错误。

我还尝试重新安装 rack gem,更改它的默认版本。都没有帮助。我考虑过使用不同版本的 Ruby,但这似乎并不相关。问题显然是 rackup 找错了地方。

但是,如果我require 'rack'在一个简单的 ruby​​ 服务器上使用,没有任何问题。机架工作。所以所有这些都告诉我,这一定与 rackup 命令本身有关。

确实,当我去的/usr/lib/ruby/gems/2.5.0/gems时候没有rack-2.0.7目录。相反,该目录位于var/lib/gems/2.5.0/gems

我注意到它var/lib/gems/2.5.0位于 RubyGems 环境的 GEM PATHS 中。但/usr/lib/ruby/gems/2.5.0'不是。

所以我解决这个问题的想法是:

  1. 更改 rackup 加载 rack gem 的方式。我对此进行了研究,这意味着更改 ruby​​gems 甚至机架文件中看起来非常正确的代码。如果我篡改它,我会破坏它,因为我不知道我在做什么。这不是一个明智的选择。

  2. 添加usr/lib...到 GEM PATH 中,以便 rackup 和 ruby​​gems 查找 rack gem 时可以找到它。对这种可能性进行了一些搜索后,似乎不建议手动将内容添加到 GEM PATH 中。无论如何我都试过了......但它没有用(仅供参考,我通过添加export GEM_PATH=...到GEM PATH.bashrc

编辑:睡过之后,我明白为什么上面的第二个选项也不起作用。简单地将缺少的目录添加到 GEM PATH 或 $LOAD_PATH 将无济于事,因为 rackup 正在寻找 rack 的特定位置但找不到它。如果我查看 rackup 代码,它看起来像这样:

执行查找的代码段由:activate_bin_path和指示bin_path,它们都在rubygems代码中定义。

因此,如果我正确理解这一点,它就像机架将错误的方向带到一个不存在的地方。就像它应该向左转的时候向右转一样。我的选择是要么以某种方式改变它的方向来告诉它“向左走”,要么建造它正在寻找的东西“在右边”。

确保它“向左走”是更好的解决方案,但我不知道该怎么做。所以我在“右边”构建了它正在寻找的东西:我将 rack gem 复制到/usr/lib/ruby/gems/2.5.0/gems/rackup 正在查找的目录中。它解决了 rackup 找不到它正在寻找的东西的问题 - rackup 现在可以工作并且服务器可以工作。但是这个解决方案将来会困扰我,例如,如果机架更新......这是一个野蛮的解决方案,我更喜欢一个优雅的解决方案。

因此,如果有人对如何确保 rackup 获得正确的方向有深入了解,请告诉我!我认为这一定与确保 ruby ​​gemsbin_path:activate_bin_path与 gem 的实际安装位​​置相对应有关。目前,根本的差异似乎是宝石生活在其中,var但它在寻找usr

提前致谢!

0 投票
1 回答
130 浏览

ruby - 上架失败。要求 Sinatra 失败

我在跑步rackup config.ru

config.ru 文件包含:

返回:

我的gem env输出也是:

我用 gem 安装了 Sinatra 和 Sinatra::Base。

我究竟做错了什么?

0 投票
1 回答
298 浏览

backport - 运行 rackup : 要求 backports 已贬值

我正在开发一个 Sinatra 应用程序。rackup在使用or启动服务器的地方shotgun,我收到以下消息:

我不需要在我的应用程序的任何地方进行反向移植。稍微查了一下,好像和linux内核有关(?)。我在 Manjaro 上运行它。

这是我应该担心的事情吗?如何修复这个?

0 投票
0 回答
214 浏览

ruby - Heroku 进程开始缺少 rackup

我有一个尝试在 Heroku 上运行的 Ruby 应用程序。我一直在使用 AWS Cloud9 环境遵循“学习足够多的 Ruby 变得危险”教程。一切都按计划进行,除非我将应用程序推送到 Heroku。在 Heroku 日志中,我收到以下消息

Gemfile的是

========================================

该应用程序在本地环境中运行良好,但在 Heroku 上,我运行 https 地址并获得应用程序错误消息和对 Heroku 日志的引用。

我将此解释为启动进程的 Heroku 命令找不到我猜是 rack gem 的一部分的 rackup gem。对于下一步该做什么,我束手无策。

想法??

0 投票
0 回答
88 浏览

ruby - Ruby 无法启动 - 未初始化常量 Dry::Validation::Contract

我的笔记本电脑是 MacOS m1 芯片,当我使用 rackup 运行该应用程序时,它显示uninitialized constant Dry::Validation::Contract (NameError) Did you mean? Dry::Container,我不知道它在互联网上没有找到答案。

这是我的 Gemfile。

还把 Gemfile.lock 放在这里

希望有人能帮忙,谢谢!