【问题标题】:How to check your gem list on heroku如何在 heroku 上查看您的宝石列表
【发布时间】:2011-06-20 05:51:48
【问题描述】:

我知道执行此操作的命令,但我不明白为什么。 `...` 在这种情况下在做什么。

我知道我可以跑:

heroku console
`gem list`

heroku console
`gem list`.split("\n")

为了得到一个不错的输出,但我不明白这些在做什么。为什么是``

【问题讨论】:

    标签: ruby-on-rails ruby heroku


    【解决方案1】:

    返回有效地进行系统调用并返回写入标准输出的响应。查看Kernel ruby docs 了解更多信息。

    【讨论】:

    • 所以,简单来说,这基本上意味着它可以让您跳出您在服务器上运行的 Rails 环境并向服务器系统本身发出命令???
    • 用简单的英语就差不多了,是的。
    【解决方案2】:

    heroku console 基本上是在远程计算机上运行一个 irb 控制台,所以当你这样做的时候你就在一个 ruby​​ 控制台中。反引号 (`) 是在 ruby​​ 中运行系统命令的标准方式。

    【讨论】:

      【解决方案3】:

      在 Ruby 中,您可以使用 Kernel#exec 或将内容放在反引号中来运行系统命令。这与在命令行中键入 gem list 并以字符串形式返回结果相同。

      【讨论】:

        【解决方案4】:

        我已更新此内容,以防有人碰巧遇到 heroku console,因为它已被禁用。

        heroku run gem list
        

        显示通过 :git 安装的 gem

        heroku run bundle show
        

        【讨论】:

        • 我发现这不会显示通过 git 安装的 gem。有什么办法可以看到那些宝石?
        • 根据 Bundler 文档,来自 git 源的 gem 不会显示在 gem 列表中,因为 gem 命令无法处理它们,因此 Bundler 必须自己完成所有工作。 Bundler 将这些 gem 存储在它自己的位置。你可以改用heroku run bundle show
        【解决方案5】:

        例如

        heroku run 'gem list' 
        

        因为

        heroku console
        

        从heroku中删除

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多