Ruby 如何创建config.ru文件和Rakefile?

Ruby 如何创建config.ru文件和Rakefile?,ruby,rackup,Ruby,Rackup,我知道您可以通过键入“bundle init”从命令行创建一个Gemfile。但是如何创建config.ru文件和一个Rakefile呢?Kristine,真正的问题不是如何创建,而是为什么要创建它们 这三个文件有三个不同的用途,Ruby应用程序启动时不需要它们: Gemfile(以及它的同伴Gemfile.lock,由第一个捆绑包安装生成,并应与另一个捆绑包一样安全地保存)-这是您最常遇到的一个 它属于一个名为。这是一个依赖关系管理工具。当您的应用程序需要其他名为“gem”的库时,您可以将其

我知道您可以通过键入“bundle init”从命令行创建一个Gemfile。但是如何创建config.ru文件和一个Rakefile呢?

Kristine,真正的问题不是如何创建,而是为什么要创建它们

这三个文件有三个不同的用途,Ruby应用程序启动时不需要它们:

  • Gemfile(以及它的同伴Gemfile.lock,由第一个
    捆绑包安装生成,并应与另一个捆绑包一样安全地保存)-这是您最常遇到的一个

    它属于一个名为。这是一个依赖关系管理工具。当您的应用程序需要其他名为“gem”的库时,您可以将其列在
    Gemfile
    中,进行
    bundle安装
    ,然后运行应用程序,如
    bundle exec ruby yourapp.rb
    Bundler将以这种方式管理环境,您的应用程序总是获得与您设计的gems相同的版本(这些版本实际上存储在
    Gemfile.lock
    文件中,您可以在那里查看)

    您可以很容易地不使用Bundler,但坚持使用某些gem版本通常是有意义的。这就是人们通常使用它的原因。我强烈建议你看看这个工具的网站

  • config.ru–这在web应用程序中非常常见。这是一个机架配置文件。在Ruby world web服务器API中有一个广泛传播的API,称为Rack。它支持将web应用程序(如Rails应用程序或Sinatra应用程序)与底层web应用程序服务器(如Thin、Unicorn或WEBrick)分离

    虽然你当然可以,但你肯定不需要。在我真正这么做之前,Ruby/Rails经历了很长一段时间。通常,当您通过调用
    railsnew
    创建一个新的Rails应用程序时,该文件将被引导

    而普通的命令行Ruby应用程序并不需要它

  • 耙形锉——这也是一种分布广泛的野兽。
    Makefile
    用于
    make
    Rakefile
    用于
    rake
    。Rake是一个Ruby工具,用于从命令行描述和调用某些任务。例如,当您执行
    bundle exec rake db:migrate
    时,实际上启动了一个由Rakefile描述的任务

    您可以很容易地使用Rails,但当您开始使用Rails时,通常不需要这样做
    rails new
    为您删除了一个刚开始就可以使用的Rakefile,除非您正在进行一些真正的定制(例如,这应该包括从命令行调用rails应用程序代码),否则没有必要对其进行修改

    不用说,如果你正在做一个简单的Ruby控制台应用程序,它只是询问你的名字和问候你,你也不需要这个文件


希望这能帮助你解决这个问题,让你顺利进入Rails世界

轻松从其他Rails应用程序复制或通过模板Rails new app生成新应用程序