什么是启动和运行rails的最快方法

时间:2014-12-23 14:57:40

标签: ruby-on-rails ruby rvm bundler rbenv

启动和运行rails的最快捷方式是什么? (在例如ec2的新Linux实例上)

这就是我现在所拥有的:(前面的数字表示它所用的秒数)

005 gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3

455 curl -sSL https://get.rvm.io | bash -s stable --rails

015 rails new facebook

005 sudo apt-get install nodejs -y

005 cd facebook; rails server -b 0.0.0.0

(我个人认为必须发出5+命令有点太多了 对于这个简单的任务)

注意:我指的是当前版本的rails和ubuntu(rails 4.2和 ubuntu 14.04,由Amazon EC2提供)

2 个答案:

答案 0 :(得分:3)

更简单并不一定更好。这个序列的长度是合理的。

  • 第一行请求签署密钥RVM版本。它已经是Linux软件分发中的经典做法,以避免第三方替换软件包。 RVM最近才采用这种做法。
  • 安装RVM,最新的Ruby,Rails及其依赖项。这个命令完成了大部分工作。

    事实上,在这些之后你已经安装了Rails并且可用。完成,开发环境就在这里。两个命令。不完全是。

    为什么选择RVM,而不是来自包管理器的Ruby?

    • 较新的Ruby,或者甚至可以同时使用几个Rubies(可在shell中切换)
    • 不少命令,实际上甚至更多(你必须自己安装rails)
    • 仅限用户空间,gems权限没有问题(sudo始终没有输入密码)。有时您可能需要安装库包,用于安装某些gem(例如libpq-dev用于gem pg)。甚至可以规避这一点。
  • 第三行创建一个应用模板。如果需要,可以将结果剥离为具有较少的依赖项。见下文。

  • Rails app模板包含uglifier,一个围绕UglifyJS的包装器。显然是用JavaScript编写的。要运行它,您需要一个JS运行时,NodeJS是一个不错的选择。如果从Gemfile中删除此gem,则无法运行Rails应用程序。除非你找到替代方案,否则你的JS不会被缩小。

  • 然后最后一行进入项目目录(无论如何你都会在那里发出许多命令)并在开发模式下运行rails服务器。您有时需要重新启动它(例如,在更改帮助程序之后),因此最好将此行拆分为两行,这样您只需点击Ctrl+C并再次运行最新命令即可重新启动应用服务器。

为什么你不担心这五个人?因为您需要更多地发布。

  • 数据库服务器设置。 SQLite适用于一个用户和一堆数据。一旦数据变大并且访问并发,问题就会出现并迫使您设置MySQL或PostgreSQL。它不只是"安装包并去"。
  • 有些宝石需要安装。 Bootstrap,Foundation-Rails,Devise,每当你命名它!
  • 发布rails generate <something>。甚至可以编写自己的发电机。它只是典型的Rails工作流程。
  • 滑轨&#39;用于实验的控制台(4.2在浏览器中附带控制台,因此可能已过时)。
  • 通过RVM安装Ruby的特定版本或实现(如Rubinius)。
  • 控制bundler以处理对Gemfile或库更新的更改。

那就是说,要使用Rails你应该没问题,使用命令行,无论如何你都会经常使用它。假设您不熟悉命令行,我可能会得出结论,但是当我开始学习使用Rails并且我遇到问题时,我几乎没有使用它。现在我将命令行视为一个强大的工具。

答案 1 :(得分:1)

听起来你只想避免分别发出5+命令。为什么不像评论中提到的@D-side一样发布它们?

gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3 && curl -sSL https://get.rvm.io | bash -s stable --rails && rails new facebook && sudo apt-get install nodejs -y &&cd facebook; rails server -b 0.0.0.0

这样您只需发出一次命令,它就会处理您想要做的所有事情。