在描述使用rbenv和Bundler配置环境的每个设置中,说明始终使用gem install bundler
将捆绑安装为系统宝石。通常,他们也会推荐rbenv-bundler rbenv plugin,但是the maintainers of rbenv discourage this。Rails是否需要安装为系统宝石?
没有说明的是如何安装Rails。初始化一个新的Rails项目会为bundler创建一个基本的Gemfile。但是,为了初始化Rails项目,需要安装Rails。制作目录似乎很奇怪甚至是错误,编写一个包含Rails的基本Gemfile,运行bundle install
,然后将Rails初始化为当前目录。事实上,我怀疑它甚至可以工作,如果它工作的话。
那么,Rails是否需要作为系统宝石安装?gem install rails
?如果是这样,那么如何管理Rails的多个版本,尤其是使用rbenv?
这是有道理的。这是一些重复的工作 - 制作目录,制作一个Gemfile,然后将该Gemfile移开。这是几个命令。但它确实让除Bundler之外的所有东西都存在于供应商(或任何你想称之为)的目录中。 –
将它作为系统Gem安装实际上是一个非常糟糕的主意,也许除非使用定制的docker实例。将系统和用户地图库分开是一个好主意。从操作系统角度来看,Rails应用程序基本上是用户登陆的。所以部署用户的rbenv更好。 – Tilo
这就是为什么我在示例中将宝石安装到应用程序内的供应商文件夹中的原因。我个人也使用Foreman/Heroku Local管理其他服务(数据库,Redis等)以将它们隔离到应用程序。 –