问题标签 [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.
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 下。
任何帮助将不胜感激,因为我刚刚开始网站开发!谢谢!!
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
下面方法中的代码块。仍然不知道应该在哪里进行数组 -> 字符串转换。谢谢。
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 因为 rubymine 强制它。我需要 rubymine 进行调试
最后,我的所有期望都是:我或 rubymine IDE 调用 rackup,它读取他的 config.ru,它调用 puma 并且 puma 正在寻找它的配置文件,依赖于 -E 但 puma 没有寻找它的文件
pumar.rb
配置.ru
哈希\ -s puma -O -C=./config/pumar.rb
需要“红宝石”
需要'./app'
运行应用
ruby-on-rails - Rackup 等效于定义的(Rails::Server)
我正在尝试在我的 rails 项目启动时立即运行一个方法。以前我使用以下内容在本地运行
虽然这在本地有效,但我们现在在 prod with 上运行bundle exec rackup
,它为上述语句返回 false。我可以在我的 Rails 项目中调用一些东西来从 Rackup 开始立即执行一个方法吗?
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'
不是。
所以我解决这个问题的想法是:
更改 rackup 加载 rack gem 的方式。我对此进行了研究,这意味着更改 rubygems 甚至机架文件中看起来非常正确的代码。如果我篡改它,我会破坏它,因为我不知道我在做什么。这不是一个明智的选择。
添加
usr/lib...
到 GEM PATH 中,以便 rackup 和 rubygems 查找 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
。
提前致谢!
ruby - 上架失败。要求 Sinatra 失败
我在跑步rackup config.ru
。
config.ru 文件包含:
返回:
我的gem env
输出也是:
我用 gem 安装了 Sinatra 和 Sinatra::Base。
我究竟做错了什么?
backport - 运行 rackup : 要求 backports 已贬值
我正在开发一个 Sinatra 应用程序。rackup
在使用or启动服务器的地方shotgun
,我收到以下消息:
我不需要在我的应用程序的任何地方进行反向移植。稍微查了一下,好像和linux内核有关(?)。我在 Manjaro 上运行它。
这是我应该担心的事情吗?如何修复这个?
ruby - Heroku 进程开始缺少 rackup
我有一个尝试在 Heroku 上运行的 Ruby 应用程序。我一直在使用 AWS Cloud9 环境遵循“学习足够多的 Ruby 变得危险”教程。一切都按计划进行,除非我将应用程序推送到 Heroku。在 Heroku 日志中,我收到以下消息
我Gemfile
的是
========================================
该应用程序在本地环境中运行良好,但在 Heroku 上,我运行 https 地址并获得应用程序错误消息和对 Heroku 日志的引用。
我将此解释为启动进程的 Heroku 命令找不到我猜是 rack gem 的一部分的 rackup gem。对于下一步该做什么,我束手无策。
想法??
ruby - Ruby 无法启动 - 未初始化常量 Dry::Validation::Contract
我的笔记本电脑是 MacOS m1 芯片,当我使用 rackup 运行该应用程序时,它显示uninitialized constant Dry::Validation::Contract (NameError) Did you mean? Dry::Container
,我不知道它在互联网上没有找到答案。
这是我的 Gemfile。
还把 Gemfile.lock 放在这里
希望有人能帮忙,谢谢!