2

現在、Ruby 1.9.3 を使用するバージョン 3.2.13 を実行するいくつかの Rails アプリケーションがあります。最終的に現在のアプリケーションを Rails 4.0 にアップグレードしてから、Ruby を 2.0 にアップグレードする予定です。私の理解では、Phusion Passenger は Ruby の 1 つのバージョンしか処理しないため、この時点で実装を試みる予定のない解決策がいくつかあります。

現在、すべての Rails アプリケーションで 1 つの gemset を使用しています。ある時点で、Rails アプリケーションを 1 つずつ 3.2.13 から現在のバージョンの Rails 4.0 に変換したいと考えています。アプリケーションの 1 つを Rails の新しいバージョンに更新しようとしたときに、Rails コマンドを更新する必要があると言われました。

私がやりたいことは、Rails 3.2.13 を使用していくつかのアプリケーションを実行し、Rails 4.0 を使用して他のアプリケーションを実行できるようにすることです。それらがすべて Rails 4.0 で適切に実行されることを確認するまでは。これを行ったら、Ruby 1.9.3 との相違点 (ある場合) を確認し、Rails 2.0 を使用するようにすべてをアップグレードします。この時点で、Ruby 2 の最新の安定バージョンである 2.0.0 用の gemset を作成するだけでよいことを理解しています。

Web 検索を行い、RVM Web サイトを確認しました。実行したい Ruby のバージョンに gemset がどのように割り当てられているかを理解しました。ただし、同じバージョンの Ruby で gemsets を使用することについては何も見ていませんが、異なるバージョンの Rails を使用したり、同じマシンで異なるアプリケーション用に他の宝石の組み合わせを使用したりしています。これはできますか?

どんな助けでも大歓迎です。

4

3 に答える 3

1
Project Folder
|___Gemfile
|__.ruby-gemset
|__.ruby-version

 Gemfile with all the required gems mention in your project folder
.ruby-gemset should have gem set name like sample-gemset
.ruby-version file should have specific ruby version (e.g 2.0)

 rvm gemset list

sample-gemsetで作成された gem セットが表示され、

バンドル インストール

これにより、このプロジェクトのすべての特定の gem が sample-gemset の下にインストールされます。他のプロジェクトで他の gem セットを作成する場合と同じです。このようにして、rvm を使用して異なるプロジェクトの異なる rails/gems と ruby​​ バージョンを維持できます。

于 2014-09-05T18:37:55.473 に答える
0

Gemfile.lock は、使用するすべての gem のバージョンを特定します。gemset について心配する必要はありません。

bundle installは常に正しいバージョンをインストールし、アプリは常に Gemfile.lock のバージョンを使用します。他のバージョンが浮かんでいる場合でも同様です。

于 2013-06-11T18:04:14.587 に答える