Rails 是否需要安装为系统 gem?
Does Rails need to be installed as a system gem?
在描述使用 rbenv 和 Bundler 配置环境的每个设置中,说明总是将 bundle 安装为系统 gem,使用 gem install bundler
。通常,他们还会推荐 rbenv-bundler rbenv plugin, but the maintainers of rbenv discourage this.
没有描述的是如何安装Rails。初始化一个新的 Rails 项目会为捆绑器创建一个基本的 Gemfile。但是,为了初始化 Rails 项目,需要安装 Rails。做一个目录,写一个包含Rails,运行 bundle install
,然后初始化Rails到当前目录的基本Gemfile,看起来很奇怪,甚至是错误的。事实上,我怀疑它是否有效,如果它真的有效的话。
那么,Rails需要和gem install rails
一起安装成系统gem吗?如果是这样,如何管理 Rails 的多个版本,尤其是 rbenv?
答案是否定的,您没有将 rails 安装为系统 gem。创建一个项目文件夹,添加 .ruby-version
文件并在此文件中添加您想要的 ruby 版本,即 2.3.0
。 rbenv 使用此文件中指定的版本,它不会是系统的 ruby。
现在您可以从此目录执行 gem install bundler
并创建 Gemfile
并添加您的 rails 版本。现在 运行 bundle install
并在 RAILS 的轨道上滚动......
不安装rails作为系统gem完全有意义。
在不弄乱 rbenv 或您使用的其他 ruby 版本管理器的情况下,以下是从包含 Gemfile 的目录创建(初始化)新 Rails 应用程序的简要步骤:
mkdir rails_app
cd rails_app
vi Gemfile # Edit it to include a rails version you need
bundle --path vendor # Wait for bundler to finish
bundle exec rails new ./
最后一步会问:Overwrite /path/to/rails_app/Gemfile? (enter "h" for help) [Ynaqdh]
。输入 y
获取默认的 Rails Gemfile 内容。
注意:上述步骤指定本地 vendor
目录(在 rails 应用程序文件夹内)以避免将 gems 安装到系统全局范围。
强制rails供应宝石。
$ mkdir foo
$ cd foo
$ bundle config --local path vendor
$ rails new .
在描述使用 rbenv 和 Bundler 配置环境的每个设置中,说明总是将 bundle 安装为系统 gem,使用 gem install bundler
。通常,他们还会推荐 rbenv-bundler rbenv plugin, but the maintainers of rbenv discourage this.
没有描述的是如何安装Rails。初始化一个新的 Rails 项目会为捆绑器创建一个基本的 Gemfile。但是,为了初始化 Rails 项目,需要安装 Rails。做一个目录,写一个包含Rails,运行 bundle install
,然后初始化Rails到当前目录的基本Gemfile,看起来很奇怪,甚至是错误的。事实上,我怀疑它是否有效,如果它真的有效的话。
那么,Rails需要和gem install rails
一起安装成系统gem吗?如果是这样,如何管理 Rails 的多个版本,尤其是 rbenv?
答案是否定的,您没有将 rails 安装为系统 gem。创建一个项目文件夹,添加 .ruby-version
文件并在此文件中添加您想要的 ruby 版本,即 2.3.0
。 rbenv 使用此文件中指定的版本,它不会是系统的 ruby。
现在您可以从此目录执行 gem install bundler
并创建 Gemfile
并添加您的 rails 版本。现在 运行 bundle install
并在 RAILS 的轨道上滚动......
不安装rails作为系统gem完全有意义。
在不弄乱 rbenv 或您使用的其他 ruby 版本管理器的情况下,以下是从包含 Gemfile 的目录创建(初始化)新 Rails 应用程序的简要步骤:
mkdir rails_app
cd rails_app
vi Gemfile # Edit it to include a rails version you need
bundle --path vendor # Wait for bundler to finish
bundle exec rails new ./
最后一步会问:Overwrite /path/to/rails_app/Gemfile? (enter "h" for help) [Ynaqdh]
。输入 y
获取默认的 Rails Gemfile 内容。
注意:上述步骤指定本地 vendor
目录(在 rails 应用程序文件夹内)以避免将 gems 安装到系统全局范围。
强制rails供应宝石。
$ mkdir foo
$ cd foo
$ bundle config --local path vendor
$ rails new .