teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

HOMEについて追記

2018/03/31 04:13

投稿

raccy
raccy

スコア21768

answer CHANGED
@@ -1,4 +1,4 @@
1
- 環境変数HOMEまたはHOMEDRIVEとHOMEPATHが正しく設定されていればでないはずのエラーです。`set`ではうまく設定されているというのであれば、Rubyからはそうでは無いように見えている可能性があります。下記を実行し、Ruby上で各環境変数が設定されているのか、また、そのパス名のディレクトリが存在するのかを確認してみて下さい。
1
+ 環境変数`HOME`または`HOMEDRIVE``HOMEPATH`が正しく設定されていればでないはずのエラーです。`set`ではうまく設定されているというのであれば、Rubyからはそうでは無いように見えている可能性があります。下記を実行し、Ruby上で各環境変数が設定されているのか、また、そのパス名のディレクトリが存在するのかを確認してみて下さい。
2
2
 
3
3
  ```コマンドプロンプト
4
4
  ruby -e 'p ENV["HOME"]'
@@ -26,4 +26,15 @@
26
26
  ※ raccyは私の環境でのユーザー名です。自分のユーザー名に置き換えてください。
27
27
  ※ 区切りは`\`ではなく`/`の場合もありますが、どちらも正しく認識されます。
28
28
 
29
- 大事なのは、最後の二つがtrueであるかどうかです。もし変な値になっている、たとえば`"C:\Users\raccy "`のように最後に空白が入っているとかがないかを注意深く確認してみて下さい。
29
+ 大事なのは、最後の二つがtrueであるかどうかです。もし変な値になっている、たとえば`"C:\Users\raccy "`のように最後に空白が入っているとかがないかを注意深く確認してみて下さい。
30
+
31
+ ---
32
+ 【追記】
33
+
34
+ Windows環境では環境変数`HOME`を設定する必要ありません。もし、間違った設定(存在しないフォルダやアクセスできないフォルダ)を設定した場合は、正しく動作しません。次の何れかに設定して下さい。
35
+
36
+ * `HOME`を設定しない。(Ruby上では`HOMEDRIVE`と`HOMEPATH`を繋いだ値に自動的に設定される)
37
+ * `HOMEDRIVE`と`HOMEPATH`を繋いだ値に設定する。
38
+ * フルアクセスが可能な存在する任意のフォルダに設定する。
39
+
40
+ なお、Windowsでは`HOMEDRIVE`と`HOMEPATH`は自動的に設定されます。手動で設定した場合、さまざまなソフトの動作に影響が出る場合があります。よくわからない場合は、手動で設定しないようにしてください。

2

コードにする

2018/03/31 04:13

投稿

raccy
raccy

スコア21768

answer CHANGED
@@ -26,4 +26,4 @@
26
26
  ※ raccyは私の環境でのユーザー名です。自分のユーザー名に置き換えてください。
27
27
  ※ 区切りは`\`ではなく`/`の場合もありますが、どちらも正しく認識されます。
28
28
 
29
- 大事なのは、最後の二つがtrueであるかどうかです。もし変な値になっている、たとえば"C:\Users\raccy "のように最後に空白が入っているとかがないかを注意深く確認してみて下さい。
29
+ 大事なのは、最後の二つがtrueであるかどうかです。もし変な値になっている、たとえば`"C:\Users\raccy "`のように最後に空白が入っているとかがないかを注意深く確認してみて下さい。

1

表示の崩れを修正

2018/03/30 11:37

投稿

raccy
raccy

スコア21768

answer CHANGED
@@ -10,20 +10,17 @@
10
10
  正しく設定されていれば、次のようになるはずです。
11
11
 
12
12
  ```
13
- > ruby -e 'p ENV["HOME"]'
13
+ C:\Users\raccy> ruby -e 'p ENV["HOME"]'
14
- "C:\Users\raccy"
14
+ "C:\Users\raccy"
15
-
16
- C:\Users\raccy
15
+
17
- > ruby -e 'p "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}"'
16
+ C:\Users\raccy> ruby -e 'p "#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}"'
18
- "C:\Users\raccy"
17
+ "C:\Users\raccy"
19
-
20
- C:\Users\raccy
18
+
21
- > ruby -e 'p File.directory?(ENV["HOME"])'
19
+ C:\Users\raccy> ruby -e 'p File.directory?(ENV["HOME"])'
22
- true
20
+ true
23
-
24
- C:\Users\raccy
21
+
25
- > ruby -e 'p File.directory?("#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}")'
22
+ C:\Users\raccy> ruby -e 'p File.directory?("#{ENV["HOMEDRIVE"]}#{ENV["HOMEPATH"]}")'
26
- true
23
+ true
27
24
  ```
28
25
 
29
26
  ※ raccyは私の環境でのユーザー名です。自分のユーザー名に置き換えてください。