रूबी पर कौन सी रूबी किस रूबी संस्करण के साथ संगत है?


82

मेरे पास एक पुराना 2.1.1 रूबी ऑन रेल्स एप्लिकेशन है, जिसमें रूबी 1.8.7 का उपयोग करने के लिए सिस्टम अपग्रेड किया गया है। यह मूल रूप से 1.8.5 या तो का उपयोग करता था।

मैं इसे प्रदर्शन कारणों से रूबी 1.9.x में अपग्रेड करना चाहता हूं, और संभवत: रेल पर एक नए रूबी के लिए भी।

मुझे विभिन्न रूबी संस्करणों और रूबी ऑन रेल संस्करणों के बीच संगतता का कोई आसान चार्ट नहीं मिल सकता है।

क्या 2.1.1 रूबी 1.9.x के साथ काम करेगा? यदि नहीं, तो मुझे इसे पहले अपग्रेड करने की कितनी आवश्यकता है, और मुझे किस प्रकार के मुद्दों का सामना करने की संभावना है? मेरा आवेदन डेटाबेस परत में जटिल चीजें करता है, लेकिन बाकी काफी सीधा है।


मुझे नहीं पता कि रूबी पर रूबी का कौन सा संस्करण काम करता है जिसके साथ रूबी है, लेकिन मुझे लगता है कि विभिन्न संस्करणों की संगतता का परीक्षण करने का सबसे अच्छा तरीका आरवीएम
माइकेल कैपापको

यह रूबी 1.9.1 की संभावना नहीं है रूबी 1.9 का समर्थन करता है, क्योंकि रूबी 1.9.0 को रेल के साथ बहुत छोटी गाड़ी के रूप में जाना जाता था, और रूबी 1.9.1 को रेल 2.1.1 के बाद जारी किया गया था ।
एंड्रयू मार्शल

रूबी का अंतिम संस्करण जो 3.2.22.5 रेल का समर्थन करता है, वह रूबी 2.3.6 है । उसके बाद, आपको रेल को 4+ में अपडेट करना होगा।
जोशुआ पिंटर

जवाबों:


108

यह एक पुराना सवाल है, लेकिन यह तथ्य कि रूबी के एक संस्करण के खिलाफ रेल का परीक्षण किया जाता है, यह एक अच्छा संकेत है कि इसे माणिक के संस्करण पर काम करना चाहिए।

9 अप्रैल 2019 के बाद से, रेल की स्थिर शाखाएं स्वचालित परीक्षण के लिए बिल्डकाइट का उपयोग करती हैं, और रेल की शाखा द्वारा परीक्षण किए गए रूबी संस्करणों की सूची है:

रेल्स 6.0

  • >= 2.5.0

रेल ५.२

रेलगाड़ी ५.१

  • >= 2.2.2

रेल्स 5.0

  • >= 2.2.2

रेलें ४.२

  • >= 1.9.3

रेलगाड़ी 4.1

  • >= 1.9.3

9 अप्रैल 2019 से पहले, रेल की स्थिर शाखाएं 3.0 से स्वचालित परीक्षण के लिए ट्रैविस-सीआई का उपयोग करती हैं, और रेल शाखा द्वारा परीक्षण किए गए माणिक संस्करणों की सूची है:

रेल 3.0

  • 1.8.7
  • 1.9.2
  • 1.9.3

रेलगाड़ी 3.1

  • 1.8.7
  • 1.9.2
  • 1.9.3

रेलगाड़ी ३.२

  • 1.8.7
  • 1.9.2
  • 1.9.3
  • 2.0.0
  • 2.1.8
  • 2.2.6
  • 2.3.3

रेल्स 4.0

  • 1.9.3
  • 2.0.0
  • 2.1
  • 2.2

रेलगाड़ी 4.1

  • 1.9.3
  • 2.0.0
  • 2.1
  • 2.2.4
  • 2.3.0

रेलें ४.२

  • 1.9.3
  • 2.0.0-p648
  • 2.1.10
  • 2.2.10
  • 2.3.8
  • 2.4.5

रेल्स 5.0

  • 2.2.10
  • 2.3.8
  • 2.4.5

रेलगाड़ी ५.१

  • 2.2.10
  • 2.3.7
  • 2.4.4
  • 2.5.1

रेल ५.२

  • 2.2.10
  • 2.3.7
  • 2.4.4
  • 2.5.1

रेल्स 6.0

  • 2.5.3
  • 2.6.0

( Https://www.hmallett.co.uk/2018/08/ruby-and-ruby-on-rails-version-compatibility/ से )


धन्यवाद। FYI करें आपकी वेबसाइट पर टिप्पणियाँ फ़ॉर्म काम नहीं कर रही हैं, इसके लिए ईमेल की आवश्यकता होती है, लेकिन वहाँ ऐसा कोई क्षेत्र नहीं है।
रुआं कार्लोस

1
रेल का नवीनतम संस्करण 5.2.3 है। मुझे आश्चर्य है कि अगर मुझे इसके लिए रूबी 2.6.3 (नवीनतम संस्करण) स्थापित करना चाहिए
कासिम

1
Rails 4.1माणिक के साथ बदलने के लिए बहुत सारी निर्भरता त्रुटियां हैं2.3.0
विश्वास नाहर

रेलगाड़ी 4.1 रूबी 2.6.x से अधिक नहीं जा सकती
जोशुआ पिंटर

46

संस्करणों के लिए <3.2: http://www.devalot.com/articles/2012/03/ror-compatibility

संस्करणों के लिए = = 4.0:

  • रेल 4 की सिफारिश 2.0 (src: रेल्स ब्लॉग)
  • रेल 4.1 / 4.2 की सिफारिश 2.1 (src: रेल्स पूर्व डाउनलोड पेज)
  • रेलिंग्स 4.2.1 अनुशंसा करता है 2.2 (src: रेल्स पूर्व डाउनलोड पृष्ठ)
  • रेल 5.0 की आवश्यकता 2.2.2+ ( रेल्स ब्लॉग )

रेलगाड़ी ३.२

मैंने उन सिफारिशों से बाहर निकलने की कोशिश की (मुख्य रूप से रूबी 2.0 और 2.1 पर रेल 3.0 चला रहा था), मैं कई अजीब मुद्दों में भाग गया।


1
क्या आप उन अजीब मुद्दों पर विस्तार से बता सकते हैं जो आप भाग चुके हैं। हम रूबी 2.1.5 पर रेल 3.2.19 चलाने की कोशिश कर रहे हैं और ActiveRecord द्वारा उत्पन्न प्रश्नों से संबंधित बहुत सारी अजीब त्रुटियों का सामना कर रहे हैं।
शिवकुमार

आपके जैसे ही मुद्दे। जैसा कि मुझे याद है, लापता और मणि संगतता मुद्दे भी थे।
गमोव

रेलगाड़ी 3.2.13 और उच्चतर रूबी कम से कम 2.0 का समर्थन करती है: stackoverflow.com/a/25165358/3448554
केल्सी हन्नान

@ गमगॉव आपके लिंक टूटे हुए दिखाई देते हैं
रिक स्मिथ

@RickSmith हां, रेल्स साइट रीडिज़ाइन के साथ कोई और डाउनलोड पेज नहीं है, धन्यवाद।
गमोव

15

रूबी को अपग्रेड करने वाली रेल गाइड पर रूबी संस्करणों पर एक अनुभाग है । यह शायद सबसे अच्छा स्रोत है क्योंकि यह रेल कोर टीम द्वारा नियंत्रित किया जाता है।

अगस्त, 2016 तक, रेल्स गाइड पढ़ता है:

1.3 रूबी संस्करण

आम तौर पर रिलीज़ होने पर रेल नवीनतम रूबी संस्करण के करीब रहती है:

  • रेल 5 को रूबी 2.2.2 या नए की आवश्यकता है।
  • रेल 4 रूबी 2.0 को पसंद करती है और उसे 1.9.3 या नए की आवश्यकता होती है।
  • रूबी 1.8.7 का समर्थन करने के लिए रेल्स 3.2.x अंतिम शाखा है।
  • रेल 3 और इसके बाद के संस्करण रूबी 1.8.7 या उच्चतर की आवश्यकता होती है। पिछले सभी रूबी संस्करणों के लिए समर्थन आधिकारिक तौर पर हटा दिया गया है। आपको जल्द से जल्द अपग्रेड करना चाहिए।

1
रेल 5.1 माणिक 2.4 के लिए समर्थन की घोषणा करता है, इसलिए मुझे लगता है कि इसका मतलब है कि रेल 5.0 इसका समर्थन नहीं करता है। ब्लॉग
new-

13

रिलीज नोट्स में इसका पता लगाना मुश्किल है। कुछ समय के लिए गुगली करने के बाद, मैं इसे केवल यहाँ पा सकता था http://www.devalot.com/articles/2012/03/ror-compatibility

रूबी रेल्स संस्करण संगतता


7
यह अब काफी पुराना हो चुका है ... मैं अब इस पर भरोसा नहीं करूंगा।
यक्ष

हां, यहां तालिका पुरानी है, कृपया मेरा अद्यतन उत्तर देखें।
गमोव

यदि आप रूबी 1.9.3 के साथ रेल की कोशिश करते हैं, तो आपको यह कहते हुए एक त्रुटि मिलती है कि आपको रूबी v 2.2.2 या उच्चतर की आवश्यकता है
Hack-R

7

रेल 2.2 रिलीज नोट से: (बिल्कुल वैसा नहीं जैसा आपने पूछा)

थ्रेड सेफ्टी के साथ-साथ रेल्स को JRuby और आने वाली रूबी 1.9 के साथ अच्छी तरह से काम करने के लिए बहुत सारे काम किए गए हैं। रूबी 1.9 एक गतिशील लक्ष्य होने के साथ, रूबी को किनारे पर चलाना रूबी अभी भी एक हिट-या-मिस प्रस्ताव है, लेकिन बाद में जारी होने पर रूबी 1.9 में परिवर्तन करने के लिए रेल तैयार है।

मुझे विश्वास है कि 2.1.1 रेल रूबी 1.9 के साथ संगत नहीं है, और आप इस तरह के वातावरण में अपने दम पर होंगे। यदि आपका टेस्ट सूट व्यापक है, तो आप इसे एक शॉट दे सकते हैं। इसके अलावा, आपको परियोजना में उपयोग किए जाने वाले अन्य सभी रत्नों की जांच करनी होगी जो वास्तविक परेशानी हो सकती है।

यदि आप इस रेल संस्करण के साथ रहना चाहते हैं, तो मैं 1.9.x पर नहीं जाऊँगा। जैसा कि आपने उल्लेख किया है कि आप इसे अपग्रेड करना पसंद करेंगे, आपको शायद रेल 3.0 रिलीज़ नोटों में उल्लिखित पदावनतियों के माध्यम से जाना चाहिए और अपने कोड को अनुकूलित करना चाहिए। एक संक्षेप सूची में पाया जा सकता है रेल 3 पदावनत विधियों और एपीआई


मैं ज्यादातर रूबी 1.9 को प्रदर्शन के कारणों से चाहता हूं, और अभी तक रेल को अपग्रेड करना चाहता हूं जबकि अभी भी रूबी 1.9.x का उपयोग करने में सक्षम है क्योंकि यह समस्या पैदा करेगा। क्या रूबी 1.9 के साथ रेल 2.2 काम करेगी?
ताव

1
@ तब मैं रेल 2.3 पर अपग्रेड करना चाहूंगा। जारी नोट के अनुसार , यह ठीक से रूबी 1.9.1
मार्सेलो डिनिज़

4

सामान्य तौर पर यह जांचने के लिए दो स्थान हैं कि क्या रूबी प्लेटफ़ॉर्म आपके पसंदीदा रेल संस्करण के लिए उपयुक्त है।

  1. रेल ब्लॉग में रिलीज की घोषणा
  2. guides/sourceनिर्देशिका में रिलीज़ नोट (वेब पर रेल गाइड और गितुब पर भी )

तुम भी इसे देखने के लिए उपयोगी हो सकता है .travis.yml अपने संस्करण फ़ाइल । rvmप्रवेश वहाँ रूबी संस्करणों कि डेवलपर्स के खिलाफ स्वचालित परीक्षण चला सकता है पता चलता है।

स्वाभाविक रूप से, अपने स्वयं के परीक्षण के साथ उनकी सिफारिशों का उपयोग करें।


3

रेल गाइड को "गेटिंग स्टार्ट विथ रेल्स" के तहत जानकारी है। मैंने गाइड के प्रत्येक संस्करण से जानकारी खींची है:

Rails 3.2 - The Ruby language version 1.8.7 or higher
Rails 4.0 - The Ruby language version 1.9.3 or newer
Rails 4.1 - The Ruby language version 1.9.3 or newer
Rails 4.2 - The Ruby language version 1.9.3 or newer

जहां तक ​​मैं बता सकता हूं कि यह एक प्राथमिक स्रोत के करीब है क्योंकि आप न्यूनतम संस्करणों के लिए प्राप्त कर सकते हैं । अनुशंसित संस्करणों के लिए गेमोव का उत्तर देखें ।


1
इससे सावधान रहें क्योंकि एक अधिकतम रूबी संस्करण भी है जो रेल संस्करण उपयोग कर सकता है। मेरा जवाब देखें (जैसे रेल <3.2.22 रूबी 2.2 का समर्थन नहीं करता है)
गामोव

@gamov धन्यवाद, मैंने अपने उत्तर को अपडेट करने के लिए कहा है कि ये न्यूनतम संस्करण हैं।
रिक स्मिथ

1

यहाँ पहला जवाब काफी जानकारीपूर्ण है, लेकिन मैं की अनुकूलता पर एक टिप्पणी है rails-4.2के साथ ruby-2.4.5, के रूप में वहाँ एक मुद्दा दिखाया है यहां , कि इस मुद्दे को बनाता है rails-2.4.8साथ ही संगत ruby-2.4+रेल-2.4 काम नहीं करेगा के किसी भी अन्य संस्करण,।


1

वे सभी पृष्ठ वर्तमान स्थिति के पीछे हो जाते हैं। और आधिकारिक डॉक्स पर प्रलेखन अस्पष्ट है 'रूबी भाषा संस्करण ... या उच्चतर'। यदि आप यह जानना चाहते हैं कि रूबी संस्करण किन संस्करणों को जानना चाहते हैं, तो ट्रैविस सीआई द्वारा जांचे जाने के विरुद्ध परीक्षण किया जाता है, जो रेल समुदाय उपयोग कर रहा है। यहां आप देख सकते हैं कि कौन सी शाखा का दोबारा परीक्षण किया गया है जो रूबी संस्करण है।

संपादित करें:

उल्लिखित हेमलेट की तरह रेल एक और परीक्षण सूट में बदल गई है। इसे बिल्ट पतंग में बदल दिया गया है । आप स्रोत रिपॉजिटरी में हमेशा कोड स्थिति की जांच कर सकते हैं।


9 अप्रैल 2019 से ट्रैविस सीआई का उपयोग रेल के लिए नहीं किया गया है।
hletlett

आप सही हैं कि वे दूसरे टेस्ट सूट में बदल गए हैं। मैंने अपना उत्तर संपादित किया।
स्मोक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.