ruby-on-rails – 是否可以使用我们尚未安装的rails版本创建一个新的rails应用程序?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 是否可以使用我们尚未安装的rails版本创建一个新的rails应用程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Stackoverflow中搜索上述问题的答案我总是遇到一个类似但不相同的问题:是否可以使用比计算机上安装的最新版本更新的rails应用程序(最大的一个)这种流行的帖子是 Specifying rails version to use when creating a new application).但是,我感兴趣的是知道是否可以运行诸如’rails __2.1.0__ new myapp’之类的命令,即使我的计算机上尚未安装特定的rails版本,这样当它运行时它会自动安装这个rails版本加上它创建所有的起始文件(其中Gemfile包含该特定版本的所有兼容的gems).

举个例子…
现在我正在关注Michael Hartl的Rails Tutorial一书,我们被要求使用ruby版本2.0.0,rails版本4.0.8并将以下信息包含在Gemfile中:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails','4.0.8'

group :development do
  gem 'sqlite3','1.3.8'
end

gem 'sass-rails','4.0.1'
gem 'uglifier','2.1.1'
gem 'coffee-rails','4.0.1'
gem 'jquery-rails','3.0.4'
gem 'turbolinks','1.1.1'
gem 'jbuilder','1.0.2'

group :doc do
  gem 'sdoc','0.3.20',require: false
end

碰巧我默认使用ruby-2.1.2和rails 4.1.4所以当我想要关注Hartl的书时,我必须创建一个新的rails应用程序(根据rails 4.1.4设置Gemfile)和之后我不得不进入新的应用程序,运行$gem install rails –version 4.0.8来安装该版本,替换上面代码中带有rails 4.1.4的默认Gemfile,然后运行bundle install和bundle update .

它似乎有效,但总而言之,这是一个相当乏味和烦人的解决方案.难道这不能解决,就像我在开始时写的那样,用’rails ____ 2.1.0 ____ new myapp’来安装2.1.0版本(我还没有安装)吗?

我确定必须有一个更简单的方法来开始使用不同的rails版本项目,我只是找不到它或尝试用错误的命令解决它.我确定我实现的解决方案还不够好,因为每当我尝试使用我已经安装的版本(2.0.0)创建另一个rails应用程序时,这就是我从终端获得的:

Desktop$rails _2.0.0_ new myapp
/Users/gaa/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:313:in `to_specs': Could not find 'railties' (= 2.0.0) - did find: [railties-4.1.4,railties-4.1.1] (Gem::LoadError)
Checked in 'GEM_PATH=/Users/gaa/.rvm/gems/ruby-2.1.2:/Users/gaa/.rvm/gems/ruby-2.1.2@global',execute `gem env` for more information
from /Users/gaa/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:322:in     `to_spec'
from /Users/gaa/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
from /Users/gaa/.rvm/gems/ruby-2.1.2/bin/rails:22:in `<main>'
from /Users/gaa/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
from /Users/gaa/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'

我真的很感激你的帮助.

解决方法

我想你所追求的是:
gem install rails -v 4.0.8
rails _4.0.8_ new myapp

这将生成rails 4.0.8 app,并创建一个锁定为4.0.8的默认Gemfile.不那么乏味.

需要安装Rails才能运行rails命令. gem是安装程序.需要安装Ruby才能运行gem. Ruby发展并修复了bug,旧项目可能需要旧版本等.你可能想要一个ruby版本管理器,它可以在gem安装之前得到它自己的安装(chruby,rbenv,rvm)….你可以锁定ruby版本对于一个项目,在Gemfile中也是如此:

source 'https://rubygems.org'

ruby '2.1.2'

猜你在找的Ruby相关文章