2016-10-14 13 views
7

मैं 4.2.7.1 का उपयोग कर रहा हूं और मैं रेल 5.0.0.1 में अपग्रेड करना चाहता हूं। इसलिए मैं तोमैं रेल 4.2.7.1 से रेल 5.0.0.1 तक अपग्रेड कैसे करूं?

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '~> 5.0.0.1’ 
# Use Puma as the app server 
gem 'puma', '~> 3.0' 
# Use SCSS for stylesheets 
gem 'sass-rails', '~> 5.0' 
# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 
# Use CoffeeScript for .coffee assets and views 
gem 'coffee-rails', '~> 4.2' 
# See https://github.com/rails/execjs#readme for more supported runtimes 
# gem 'therubyracer', platforms: :ruby 

# Use jquery as the JavaScript library 
gem 'jquery-rails' 
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 
gem 'turbolinks', '~> 5' 
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 2.5' 
# Use Redis adapter to run Action Cable in production 
# gem 'redis', '~> 3.0' 

gem 'uuids' 
gem 'addressable' 
gem 'postgresql' 
gem 'pundit' 
gem 'omniauth-oauth2', '~> 1.3.1' 
gem 'omniauth-google-oauth2' 
gem 'omniauth-facebook' 
gem 'omniauth-twitter' 
gem 'omniauth-linkedin-oauth2' 
gem 'jquery-ui-rails' 
gem 'will_paginate' 
gem 'bootstrap-sass' 
gem 'autoprefixer-rails' 
gem 'compass-rails' 
gem 'pdf-reader' 
gem 'jquery-turbolinks' 
gem 'tor', :git => 'https://github.com/dryruby/tor.rb.git' 
gem 'tor_requests' 
gem 'tor-privoxy' 
gem 'net-telnet' 
gem 'mechanize' 
gem 'activerecord-import' 

की तरह मेरे Gemfile समायोजित लेकिन जब मैं कोशिश करते हैं और रन "बंडल स्थापित" (Gemfile.lock को हटाने के बाद), मैं इन त्रुटियों को मिलता है ...

localhost:myproject davea$ bundle install 
Fetching https://github.com/dryruby/tor.rb.git 
Fetching gem metadata from https://rubygems.org/......... 
Fetching version metadata from https://rubygems.org/... 
Fetching dependency metadata from https://rubygems.org/.. 
Resolving dependencies................................................. 
Bundler could not find compatible versions for gem "activerecord": 
    In Gemfile: 
    activerecord-import was resolved to 0.16.1, which depends on 
     activerecord (>= 3.2) 

    rails (~> 5.0.0.1) was resolved to 5.0.0.1, which depends on 
     activerecord (= 5.0.0.1) 

    uuids was resolved to 1.4.0, which depends on 
     activerecord (~> 4.1) 
Bundler could not find compatible versions for gem "hexx-active_record": 
    In Gemfile: 
    uuids was resolved to 4.0.0, which depends on 
     hexx-active_record (~> 1.3) 

Could not find gem 'hexx-active_record (~> 1.3)', which is required by gem 'uuids', in any of the sources.Bundler could not find compatible versions for gem "rails": 
    In Gemfile: 
    rails (~> 5.0.0.1) 

    uuids was resolved to 0.0.1, which depends on 
     rails (~> 4.1) 

मैं क्या करने की जरूरत है मेरे रेल संस्करण को अपग्रेड करने के लिए?

संपादित करें: जवाब में आउटपुट

localhost:myproject davea$ rails app:update 
Error: Command 'app:update' not recognized 
Usage: rails COMMAND [ARGS] 

The most common rails commands are: 
generate Generate new code (short-cut alias: "g") 
console  Start the Rails console (short-cut alias: "c") 
server  Start the Rails server (short-cut alias: "s") 
dbconsole Start a console for the database specified in config/database.yml 
      (short-cut alias: "db") 
new   Create a new Rails application. "rails new my_app" creates a 
      new application called MyApp in "./my_app" 

In addition to those, there are: 
destroy  Undo code generated with "generate" (short-cut alias: "d") 
plugin new Generates skeleton for developing a Rails plugin 
runner  Run a piece of code in the application environment (short-cut alias: "r") 

All commands can be run with -h (or --help) for more information. 
+0

आप 'बंडल update' करने की आवश्यकता होगी, स्थापित नहीं (अद्यतन नए जवाहरात हो जाता है, मैचों अपने gemfile.lock स्थापित)।, के रूप में आप की आवश्यकता होगी के लिए विकल्प मिल रहा है उस निर्भरता को हल करने के लिए रत्न के नए संस्करण (विशेष रूप से सक्रिय रिकॉर्ड-आयात 0.11.0 या अधिक)। फिर – Doon

+0

के नीचे सुझाए गए अपग्रेड मार्गदर्शिका का पालन करें जैसा कि मैंने अपने प्रश्न में उल्लेख किया है, मैंने "बंडल इंस्टॉल" चलाने से पहले "Gemfile.lock" प्रश्न हटा दिया है। इसके बावजूद, इसे वहां रखते हुए और "बंडल अपडेट" परिणाम एक ही त्रुटि में चलते हैं। – Dave

+0

हाँ .lock फ़ाइल को हटाने से चूक गया। क्या आपने सत्यापित किया है कि आपके सभी रत्न रेल हैं 5 संगत – Doon

उत्तर

2

दिया जवाब देने के लिए ऑन रेल्स डॉक्स रूबी से, यह रेल एप्लिकेशन की तरह दिखता है: अद्यतन में मदद मिलेगी रेल से 4 से आपको अवगत कराने 5.

http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html

+0

पर अपडेट करें धन्यवाद लेकिन जब मैं कमांड चलाता हूं तो मुझे त्रुटि मिलती है, "त्रुटि: कमांड 'ऐप: अपडेट' पहचाना नहीं गया "। पूरा आउटपुट मेरे प्रश्न के संपादन में है। – Dave

+0

रेक रेल की कोशिश करें: – jhack

+0

अपडेट करें क्या आप अभी अनुमान लगा रहे हैं? मैंने उस कमांड को चलाया, फाइलों के समूह को ओवरराइट करने के लिए कहा गया था, और फिर मैंने "रेल-वी" भाग लिया जिस पर मुझे "रेल 4.2.7.1" मिला, इसलिए कुछ भी नहीं बदला है। – Dave

1

रेल और rails_app Updating to Rails 5.0 को अपग्रेड करने के तरीके पर एक लेख है, आपको पहले अपने स्थानीय रूबी और रेल संस्करणों को अपग्रेड करना चाहिए, फिर अपना अपग्रेड करना चाहिए एप्लिकेशन।

लेकिन आपके ऐप को रेल के लिए अपडेट करने के बाद 5 आपको शायद कुछ बदलाव करना चाहिए। इस Rails Upgrade Checklist

+0

कोशिश की और यह काम नहीं किया।Teh लेखों में कौन सा विशिष्ट कदम त्रुटि पर विजय प्राप्त करता है, "बंडलर को मणि" activerecord "के लिए संगत संस्करण नहीं मिल सका? – Dave

+0

मैं आपको इस लेख में सभी चरणों के माध्यम से चलने का सुझाव देता हूं –

0

मुझे लगता है कि यह सबसे अच्छा http://railsapps.github.io/updating-rails.html है लेकिन आपको अपग्रेड करने से पहले अपने परीक्षणों की जांच करनी चाहिए।

1

आप कर सकते हैं नहीं आप UUIDs मणि के लिए विकल्प खोजने के लिए जब तक, क्योंकि भले UUIDs के नवीनतम संस्करण, hexx-active_record जो ActiveRecord < 5 की आवश्यकता की आवश्यकता है, जबकि rails5 ActiveRecord 5. आवश्यकता है इसके अलावा hexx-active_record मणि rubygems पर उपलब्ध नहीं है। यह लिंक https://www.versioneye.com/ruby/hexx-active_record/6.1.0 देखें।

तो अब के रूप में एकमात्र समाधान UUIDs

संबंधित मुद्दे