我是ruby on rails的新手,我刚刚安装了我的第一个应用程序。
我为特定的rails版本创建了一个gem(不是针对特定的项目) - 有区别吗?
$ rvm gemset create rails500
Gemset 'rails500' created.
$ rvm 2.4.1@rails500
$ gem install rails -v 5.0.0
然后我想使用gemset创建一个新应用程序:
$ mkdir blog-app
$ cd blog-app
$ rvm gemset use rails500
Using ruby-2.4.1 with gemset rails500
$ rails new .
这并没有为我创建.ruby-gemset或.ruby-version文件,但它确实创建了列出rails 5.0.0的Gemfile。 然后我创建了.ruby-gemset& .ruby-version文件:
$ echo "ruby-2.4.1" > .ruby-version
$ echo "rails500" > .ruby-gemset
我试图找出我是否正确地做到了这一点。另外,如果Gemfile中列出了rails5.0.0,是否需要.ruby-gemset文件?
最后,我是rvm和bundler。我应该运行bundler install吗?
答案 0 :(得分:0)
.ruby-gemset
和.ruby-version
。你正在做什么看起来没问题。
.ruby-version
指定您要使用的ruby版本。您可以将其与rvm
,rbenv
或chruby
一起使用,以指定要在应用程序中使用的Ruby版本。
.ruby-gemset
特定于使用rvm
。它是使用bundler
的替代方法。 bundler
和rvm gemsets
都实现了维护与系统宝石分离的应用程序依赖关系(" gems")的独立列表的目标。在bundler
和rvm gemsets
之前,Ruby没有一个很好的解决方案,可以为每个项目提供单独的依赖项。
不要互换使用rvm gemsets
和bundler
。我建议完全使用其中一个,但不能同时使用同一个项目。 (我应该注意到我对gemsets
并不十分了解,所以我的一些信息可能已经过时了。如果我所说的不准确,有人会纠正我。)