ass*_*nsi 6 ruby-on-rails railstutorial.org ruby-on-rails-4
在Stackoverflow中搜索上述问题的答案我总是遇到一个类似但不相同的问题:是否可以使用比计算机上安装的最新版本更新的rails应用程序(最大的一个)这种流行的帖子是指定在创建新应用程序时使用的rails版本.但是,我感兴趣的是知道是否可以运行诸如'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
Run Code Online (Sandbox Code Playgroud)
碰巧我默认使用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>'
Run Code Online (Sandbox Code Playgroud)
我真的很感激你的帮助.
Jez*_*ezC 25
我想你所追求的是:
gem install rails -v 4.0.8
rails _4.0.8_ new myapp
Run Code Online (Sandbox Code Playgroud)
这将生成rails 4.0.8 app,并创建一个锁定为4.0.8的默认Gemfile.不那么乏味.
需要安装Rails才能运行rails命令.gem是安装程序.需要安装Ruby才能运行gem.Ruby发展并修复了bug,旧项目可能需要旧版本等.你可能想要一个ruby版本管理器,它可以获得它自己的安装(chruby,rbenv,rvm)gem install ....您也可以在Gemfile中锁定项目的ruby版本,例如:
source 'https://rubygems.org'
ruby '2.1.2'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6328 次 |
| 最近记录: |