我知道你通过输入" bundle init来命令行创建一个Gemfile。"但是你如何创建config.ru文件和Rakefile?
答案 0 :(得分:9)
Kristine,真正的问题不是如何,而是为什么你想要创建它们。
这三个文件有三个不同的用途,Ruby应用程序无需启动任何目的:
Gemfile (及其伴随 Gemfile.lock ,由第一个bundle install
生成,应该与另一个一样安全地保存) - 这是你经常见到的。
它属于并由名为Bundler的工具使用。它是一个依赖管理工具。当您的应用程序需要其他名为" gem"的库时,您可以在Gemfile
,bundle install
以及稍后运行应用程序时列出bundle exec ruby yourapp.rb
Bundler将以这样的方式处理环境,使您的应用程序始终获得您设计的相同版本的gem(这些版本实际存储在Gemfile.lock
文件中,您可以在那里查看)。
你可以很容易地做到没有Bundler,但坚持某些宝石版本通常是有道理的。这就是人们通常使用它的原因。我强烈建议您查看该工具的网站。
config.ru - 这对于网络应用程序来说非常常见。它是一个Rack配置文件。在Ruby世界的Web服务器API中广泛传播了一种叫做Rack的东西。它可以从底层Web应用程序服务器(如Thin,Unicorn或WEBrick)中分离Web应用程序(如Rails应用程序或Sinatra应用程序)。
虽然你当然可以create this on your own,但你肯定不需要。在我实际执行此操作之前,我的Ruby / Rails体验已经走了很长的路。通常,当您通过调用rails new
创建新的Rails应用程序时,此文件会被引导。
vanilla命令行Ruby应用程序根本不需要它。
Rakefile - 这又是一只相当广泛的野兽。 Makefile
的{{1}}是make
,Rakefile
是rake
。 Rake是一个Ruby工具,用于从命令行描述和调用某些任务。例如,当您执行bundle exec rake db:migrate
时,实际上您启动了Rakefile描述的任务。
您可以轻松design your own tasks,但在开始使用Rails时,您通常不需要。 rails new
删除了一个Rakefile,它只是为了开始,除非您正在做一些真正的自定义(这应该是,例如,涉及从命令行调用您的Rails应用程序代码) ,没有必要摆弄它。
毋庸置疑,如果你正在做一些简单的Ruby控制台应用程序,它只询问你的名字并问候你,你也不需要这个文件。
希望这可以帮助您了解这一点并顺利进入Rails世界!