質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

1650閲覧

rbenv で ruby2.4.2 をインストールしたが cgi で実行すると ruby1.8.7 で実行される

kimurayu

総合スコア158

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2017/10/20 13:43

編集2017/10/21 01:59

rbenv で ruby2.4.2 をインストールしました。
以下のように切り替わっています。

$ which ruby ~/.rbenv/shims/ruby $ ruby -v ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]

index.rb をコマンドラインから実行すると ruby2.4.2 で実行されます。

ruby

1index.rb 2 3#!/usr/bin/env ruby 4puts "Content-type: text/html\n\n" # ヘッダ(データの情報)を出力 5puts # 仕切りとして、空行を出力 6puts RUBY_VERSION # ruby のバージョンを表示

しかし ブラウザでcgiで実行すると、ruby1.8.7 で実行されます。

コマンドで実行 $ ruby index.rb -> 2.4.2 cgiで実行 http://hogehoge/index.rb -> 1.8.7

どうすれば良いでしょうか

ruby 1.8.7 -> /usr/bin/ruby に元から入っていた
ruby 2.4.2 -> /home/ec2-user/.rbenv にインストールした

一行目を

ruby

1#!/home/ec2-user/.rbenv/shims/ruby

にすると 500 internal server error になる

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2017/10/21 09:07

システムのRuby のバージョンをアップグレードする方法は考えられませんか? なにか制限事項があるのですか?
kimurayu

2017/10/21 09:42

すみません、解決しました。/usr/bin/ruby にある1.8.7とは別に/usr/local/bin/rbenv にインストールし、/usr/local/bin/rbenv/shims/ruby にすることでできました。
guest

回答1

0

自己解決

/usr/local/bin/rbenv に2.4.2インストール

$ rbenv global 2.4.2

ruby

1#!/usr/local/bin/rbenv/shims/ruby

でできました。

投稿2017/10/21 09:43

kimurayu

総合スコア158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問