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

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

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

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

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

Q&A

解決済

1回答

515閲覧

Windows7にRubyをインストール後、Pryが起動できない。

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

0グッド

0クリップ

投稿2018/03/29 14:40

編集2018/04/01 02:11

前提・実現したいこと

windows PC にRubyをインストールし、pryを実行しようとしたところエラーが発生します。
ruby -v でバージョン情報は見られるので、インストールはうまくいっていると思います。

発生している問題・エラーメッセージ

イメージ説明
HOME環境変数を調べてみるとこのような結果となりました。3番目がfalseなのが問題でしょうか。
追記。一番目のコマンドを間違えていたため、修正版を上げなおしました。
イメージ説明

補足情報(FW/ツールのバージョンなど)

Windows 7 64bit

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

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

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

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

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

deadjupiter

2018/03/29 14:44

ご丁寧に「HOME環境変数設定してね」って書いてあるのに何で読まないの?
raccy

2018/03/29 21:25

>deadjuptierさん。HOMEDRIVEとHOMEPATHが設定されていれば十分だし、Windowsではデフォルトで設定される筈なのだから、HOMEはなくても動きます。
raccy

2018/03/29 21:34

確認すべき事は、環境変数HOME、HOMEDRIVE、HOMEPATHがそれぞれ何になっているのかです。setで環境変数一覧が出るのでHOEMからはじまる物を全て追記して下さい。次にRubyはどのバイナリをインストールしたかです。Rubyは複数のWindowsバイナリの他、自分でコンパイルというのもあります。
退会済みユーザー

退会済みユーザー

2018/03/29 23:37 編集

>deadjupiterさん 勉強し始めたばかりでわからなくてすみません。
退会済みユーザー

退会済みユーザー

2018/03/29 23:35

>raccyさん HOME=C:\Users\admin HOMEDRIVE=C: HOMEPATH=\Users\admin となっておりました。後半については理解できません。よろしければバイナリについて、その確認の仕方など教えていただけませんでしょうか。
raccy

2018/03/30 11:15

インストールしたというのであれば、どこかからインストーラをダウンロードしたのであり、それはどこから何を手に入れたのかと言うことです。Rubyの公式サイトではソースコードのみ配布しており、Windowsのインストーラを配付しておらず、公式は存在しません。WindowsにRubyを入れる方法は複数種類があり、それによって対応が異なる場合もあると言うことです。
退会済みユーザー

退会済みユーザー

2018/03/31 00:11

返信ありがとうございます。インストールはこちらのサイトから行いました。https://rubyinstaller.org/downloads/
asm

2018/03/31 06:24 編集

コマンドプロンプト上でマウスを右クリックすることで「ペースト」 範囲を選択した後にEnterキーで「選択範囲のコピー」ができますので 入力は正確にすることをおすすめしますよ
退会済みユーザー

退会済みユーザー

2018/04/01 02:15

>asmさん コメントありがとうございます。今回も打ち間違いが発生しておりました。コピーの方法は初めて知りました!ありがとうございます。これから活用しようと思います。
guest

回答1

0

ベストアンサー

環境変数HOMEまたはHOMEDRIVEHOMEPATHが正しく設定されていればでないはずのエラーです。setではうまく設定されているというのであれば、Rubyからはそうでは無いように見えている可能性があります。下記を実行し、Ruby上で各環境変数が設定されているのか、また、そのパス名のディレクトリが存在するのかを確認してみて下さい。

ruby -e 'p ENV["HOME"]' ruby -e 'p "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}"' ruby -e 'p File.directory?(ENV["HOME"])' ruby -e 'p File.directory?("#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}")'

正しく設定されていれば、次のようになるはずです。

C:\Users\raccy> ruby -e 'p ENV["HOME"]' "C:\Users\raccy" C:\Users\raccy> ruby -e 'p "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}"' "C:\Users\raccy" C:\Users\raccy> ruby -e 'p File.directory?(ENV["HOME"])' true C:\Users\raccy> ruby -e 'p File.directory?("#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}")' true

※ raccyは私の環境でのユーザー名です。自分のユーザー名に置き換えてください。
※ 区切りは\ではなく/の場合もありますが、どちらも正しく認識されます。

大事なのは、最後の二つがtrueであるかどうかです。もし変な値になっている、たとえば"C:\Users\raccy "のように最後に空白が入っているとかがないかを注意深く確認してみて下さい。


【追記】

Windows環境では環境変数HOMEを設定する必要ありません。もし、間違った設定(存在しないフォルダやアクセスできないフォルダ)を設定した場合は、正しく動作しません。次の何れかに設定して下さい。

  • HOMEを設定しない。(Ruby上ではHOMEDRIVEHOMEPATHを繋いだ値に自動的に設定される)
  • HOMEDRIVEHOMEPATHを繋いだ値に設定する。
  • フルアクセスが可能な存在する任意のフォルダに設定する。

なお、WindowsではHOMEDRIVEHOMEPATHは自動的に設定されます。手動で設定した場合、さまざまなソフトの動作に影響が出る場合があります。よくわからない場合は、手動で設定しないようにしてください。

投稿2018/03/30 11:34

編集2018/03/31 04:13
raccy

総合スコア21735

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

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

退会済みユーザー

退会済みユーザー

2018/03/31 00:27

質問に実行結果を追記しました。三番目がfalseなのが原因だと考えられます。また1番目もおかしいので、環境変数HOMEがおかしいと感じます。設定について私自身でも調べてみます。
退会済みユーザー

退会済みユーザー

2018/03/31 01:07

調べてみても何に変更すればいいのかわかりませんでした。現在は、システム環境変数HOMEは『C:\Users\username』という変数値でした。
raccy

2018/03/31 04:14

追記しましたので、追記を見てください。
退会済みユーザー

退会済みユーザー

2018/04/01 02:20

追記拝見しました。 HOME環境変数を以前作ったので、今回削除しました。 しかしながら、3番目のコマンドC:\Users\raccy> ruby -e 'p File.directory?(ENV["HOME"])'の結果がfalseのままです。
退会済みユーザー

退会済みユーザー

2018/04/01 02:21

このような結果になりました。 C:\Users\admin>ruby -e 'p ENV["HOME"]' "C:\Users\username" C:\Users\admin>ruby -e 'p "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}"' "C:\Users\admin" C:\Users\admin>ruby -e 'p File.directory?(ENV["HOME"])' false C:\Users\admin>ruby -e 'p File.directory?("#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]} ")' true
raccy

2018/04/01 04:14

環境変数を削除した後に、コマンドプロンプトを起動し直したでしょうか? echo %HOME% としてみて、設定されていないことを確認してみてください。
退会済みユーザー

退会済みユーザー

2018/04/01 07:39

コマンドプロンプトを起動しなおしたところ、以下のようになりました。 この結果はHOMEが設定されていないということですか? 試しにpryを実行してみると、『情報: 与えられたパターンのファイルが見つかりませんでした。』が理解できませんが、pryを起動できました!ありがとうございます! ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32] C:\Users\admin>echo %HOME% %HOME% [1] pry(main)> puts 2 2 情報: 与えられたパターンのファイルが見つかりませんでした。 => nil [2] pry(main)> puts 3 + 3 6 => nil [3] pry(main)>
raccy

2018/04/01 07:52

環境変数が設定されていなければ、そのまま表示されるので、その表示であっています。OSの設定で環境変数の変更を行った場合、既に起動しているアプリケーション(コマンドプロプト含む)には反映されません。アプリケーションを起動しなおす必要があります。コマンドプロプトだけではなく、エディタ等も同様ですので、注意してください。
退会済みユーザー

退会済みユーザー

2018/04/02 02:03

>raccyさん ありがとうございます。よく覚えておこうと思います。長い間サポートしていただきありがとうございました。
退会済みユーザー

退会済みユーザー

2018/04/02 02:06

>asmさん リンクありがとうございます。正直全然理解できませんでした。とりあえずはエラーということで理解しておこうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問