で書かれたいくつかのルビースクリプトがあり1.8.6
ます。1.9.2
今、私はまたは安定している他のバージョンにアップグレードしたいと思います。
このスクリプトにはいくつかのgemとrubyのビルドライブラリがあります。それをrubyにアップグレードすると、1.9.2
どのような問題に直面する可能性がありますか?
で書かれたいくつかのルビースクリプトがあり1.8.6
ます。1.9.2
今、私はまたは安定している他のバージョンにアップグレードしたいと思います。
このスクリプトにはいくつかのgemとrubyのビルドライブラリがあります。それをrubyにアップグレードすると、1.9.2
どのような問題に直面する可能性がありますか?
これらのいくつかは、アップグレード時に遭遇する一般的なものです。
1.8.xを使用している場合require local_file
、現在のディレクトリがロードパスから削除されていることがわかりますが、1.9.xrequire_relative
はこの目的のために導入されています。
文字列の処理方法は少し異なります。
1.9.2 c?
=> c
1.8.7 c?
=> 99
1.9.2では、文字列への配列は1.8.7 Array.inspectと同じです。つまり、句読点を追加します。
1.9.2 [1,2,3].to_s
=> 1,2,3
1.8.7 [1,2,3].to_s
=> 123
1.9.2の古い動作の場合はjoin
、1.8.7の新しい動作を使用しますinspect
。
Rubyでは、私たちの多くがこのような状況に直面しています。新しいバージョンにアップグレードすると、古いバージョンでは正常に機能していたコードが破損する可能性があります。
素晴らしいウェインE.セギン氏もそれに直面し、rvmと呼ばれるこれを解決するための優れたツールを作成しました。
一言で言えば、rvmを使用すると、さまざまなバージョンのruby(たとえば、1.8.7または1.9.2)をインストールし、簡単にこれらを簡単に切り替えることができます。
rvm use 1.8.7
https://rvm.io/にアクセスして、マシンにrvmをインストールする方法を学ぶ必要があります。次に、現在のルビーバージョンとアップグレードしたいバージョンの両方をインストールできます。2つを切り替えて、スクリプトが機能しているかどうかをテストします。これにより、少なくとも将来の時間を節約できるはずです。