12

既存の Ruby アプリケーションに入り、次のように入力します。

$ レール

ここでレールサーバーを起動したかった。しかし、それは言った:

Ruby のバージョンは 1.8.7 ですが、Gemfile は 1.9.3 を指定しています

実は1.8.7を持っていたのですが、削除してしまいました。もしそうなら:

$ ルビー -v

それは言った: ruby​​ 1.9.3p286 (2012-10-12 リビジョン 37165) [x86_64-darwin11.4.2]

ですから、どうすれば直せるかわかりません。助けてもらえますか?

4

6 に答える 6

12

rvmを使用している場合は、次を実行します。

$ rvm use 1.9.3
于 2013-02-02T12:26:47.670 に答える
5

バンドラーを使ってみる

bundle exec rails s
于 2012-10-21T05:33:20.360 に答える
5

同様の問題がありました:

$ bundle install
Your Ruby version is 2.1.0, but your Gemfile specified 1.9.3

しかし:

$ ruby -v
1.9.3-p484
$ which ruby
/home/malo/.rvm/rubies/ruby-1.9.3-p484/bin/ruby

12345の5 つの答えが見つかりました。また、それはgithub未解決の問題でした。ただし、次のように問題を解決しました。

  1. 私のへのパスを取得しました:

    $ which bundle
    /home/malo/.rvm/gems/ruby-1.9.3-p484@global/bin/bundle
    
  2. 編集するためにそれを開いて(または単にそれをに)、最初の行にルビーへの無効なリンクがあることを確認しました:

    $ cat $(which bundler)|head -n 1 
    #!/home/malo/.rvm/rubies/ruby-2.1.0/bin/ruby
    
  3. 次に、現在有効なルビーへのパスを取得し、無効なものをそれに置き換えました。

    $ which ruby
    /home/malo/.rvm/rubies/ruby-1.9.3-p484/bin/ruby
    

    もちろん、それを一般的な形式に置き換えてみることもできます。

    #!/usr/bin/env ruby
    

    これにより、現在使用されている Ruby のバージョンが取得されます。

于 2014-02-04T15:55:40.170 に答える
0

時々、これは私に起こります。しかし、Ruby のバージョンをあちこちで切り替えるのが好きではないことがよくあります。代わりに、Gemfile に移動して、Ruby のバージョンを使用中のものに切り替えます。これにより、サーバーを起動して作業を続けることができます。

たとえば、現在私が取り組んでいるアプリの場合、Gemfile は次の場所にあります。

ruby ENV["CUSTOM_RUBY_VERSION"] || "2.1.6"

そして、私はそれを次のように変更します

ruby ENV["CUSTOM_RUBY_VERSION"] || "1.9.3"
于 2016-04-06T18:31:36.057 に答える