Ruby on rails 对一些rails概念感到困惑,需要一些解释
我对一些Rails的概念感到困惑,比如:gemest、rubygems、bundler。我有以下三个问题: 1.安装RVM工具后,设置开发环境以创建rails项目(比如rails v2.3项目)的正确步骤是什么 2.gem install XXX“和”Ruby on rails 对一些rails概念感到困惑,需要一些解释,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,我对一些Rails的概念感到困惑,比如:gemest、rubygems、bundler。我有以下三个问题: 1.安装RVM工具后,设置开发环境以创建rails项目(比如rails v2.3项目)的正确步骤是什么 2.gem install XXX“和”bundle install“之间有什么区别?我是否可以理解为“bundle install”一次安装应用程序中需要的所有gem,而“gem install XXX”只安装指定的“XXX”gem?还有其他区别吗?为什么不使用bundler来安装特定
bundle install
“之间有什么区别?我是否可以理解为“bundle install
”一次安装应用程序中需要的所有gem,而“gem install XXX
”只安装指定的“XXX
”gem?还有其他区别吗?为什么不使用bundler来安装特定的rails呢
3.如果我想在项目1中使用rails v3.0,在项目2中使用rails v2.3。如何使用特定的rails版本创建这两个项目?不同项目的不同ruby版本如何?我只需要在Gemfile中指定所需的版本,还是在项目路径下安装所需的版本?RVM允许您在不同的ruby版本旁边创建不同的gemset 您可以使用
rvm install
安装不同版本的ruby
rvm安装1.8.7
rvm安装1.9.2
rvm-list-known
将告诉您可以安装的可用ruby实现
比如说,您有两个项目:projectone和projecttwo,它们都有不同的gem依赖关系。因此,您需要使用Ruby 1.9.2创建两个空gemeset
rvm gemset create 1.9.2@project_one
rvm gemset create 1.9.2@project_two
要使用project_two的gemset,可以使用rvm use
选择gemset
rvm use 1.9.2@project_two
您还可以将上述命令添加到rails应用程序根路径中名为.rvmrc
的文件中,只要您将cd刻录到应用程序的根目录中,rvm就会自动加载该文件
如果您想在project_one中使用Rails 2.3.8
rvm use 1.9.2@project_one
gem install rails -v 2.3.8
项目2的Rails 3.1.0
rvm use 1.9.2@project_two
gem install rails -v 3.1.0
gem-install
和bundle-install
之间的区别在于gem-install
只将指定的gem安装到gemset中,而bundle-install
安装位于应用程序的Gemfile
中的所有gem RVM允许您在不同的ruby版本旁边创建不同的gemset
您可以使用rvm install
安装不同版本的ruby
rvm安装1.8.7
rvm安装1.9.2
rvm-list-known
将告诉您可以安装的可用ruby实现
比如说,您有两个项目:projectone和projecttwo,它们都有不同的gem依赖关系。因此,您需要使用Ruby 1.9.2创建两个空gemeset
rvm gemset create 1.9.2@project_one
rvm gemset create 1.9.2@project_two
要使用project_two的gemset,可以使用rvm use
选择gemset
rvm use 1.9.2@project_two
您还可以将上述命令添加到rails应用程序根路径中名为.rvmrc
的文件中,只要您将cd刻录到应用程序的根目录中,rvm就会自动加载该文件
如果您想在project_one中使用Rails 2.3.8
rvm use 1.9.2@project_one
gem install rails -v 2.3.8
项目2的Rails 3.1.0
rvm use 1.9.2@project_two
gem install rails -v 3.1.0
gem-install
和bundle-install
之间的区别在于gem-install
只将指定的gem安装到gemset中,而bundle-install
安装位于应用程序的Gemfile
中的所有gem 1)如果您有rvm设置,我建议在您的应用程序文件中添加程序
在该文件中:
rvm --create ree-1.8.7-2011.03@myappname
这将始终使用指定版本的ruby(在这种情况下为'ree-1.8.7-2011.03'),所有gems将安装在名为:myappname的rvm gemset中。该文件将始终确保每次从bash_控制台转到该文件夹时,它都会将rvm指向正确的环境
2) 如果您有rvm设置,则:
gem安装XXX在指定rvm gemset或全局rvm gemset中创建gem
sudo gem install XXX将向您的全球gems添加gems
正如您所说,您应该始终使用Bundle安装和groupgems进行开发、测试和生产
3) 这可以实现,就像我在第1点中所说的那样)只需在你的应用程序中创建此文件1)如果你有一个rvm设置,我建议在你的应用程序文件中添加它
在该文件中:
rvm --create ree-1.8.7-2011.03@myappname
这将始终使用指定版本的ruby(在这种情况下为'ree-1.8.7-2011.03'),所有gems将安装在名为:myappname的rvm gemset中。该文件将始终确保每次从bash_控制台转到该文件夹时,它都会将rvm指向正确的环境
2) 如果您有rvm设置,则:
gem安装XXX在指定rvm gemset或全局rvm gemset中创建gem
sudo gem install XXX将向您的全球gems添加gems
正如您所说,您应该始终使用Bundle安装和groupgems进行开发、测试和生产
3) 这可以实现,就像我在第1点中所说的那样)只需在你的应用程序中创建这个文件Hi,“1.9.2”在命令“rvm gemset create 1.9”中指示了什么。2@project_one@Leem它指的是ruby版本。命令“rvm应该使用1.9吗?”。2@project_two“是否在项目二路径下执行?还是外部?我可以通过更改“rvm gemset create ruby”中的版本号为不同的项目指定不同的ruby版本吗-VERSION@project_name“?@Leem它可以在任何地方执行,并将保持不变,直到您切换它或加载
.rvmrc
。您好,“1.9.2”在命令中指示了什么“rvm gemset创建1.9。2@project_one@Leem它指的是ruby版本。命令“rvm应该使用1.9吗?”。2@project_two“在project_two path下执行?还是在外部执行?我可以通过更改“rvm gemset create ruby”中的版本号为不同的项目指定不同的ruby版本吗-VERSION@project_name“?@Leem它可以在任何地方执行,并将保持不变,直到您切换它或.rv