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

回答編集履歴

1

gulpファイルの確認

2017/11/15 11:37

投稿

miyabi-sun
miyabi-sun

スコア21454

answer CHANGED
@@ -1,4 +1,5 @@
1
1
  **パスを通す**の意味はわかりますか?
2
+
2
3
  Windows、Mac、Linux等のOS共通でターミナルを開いてPATHという変数を確認するとこのような文字列が格納されています。
3
4
  例えばMacで下記のようなコマンドを入力すると`:`で区切られたディレクトリ名らしきものがズラッと表示されますね。
4
5
 
@@ -11,17 +12,36 @@
11
12
  PATH変数のディレクトリリストを確認し、これの左から順番に「実行ファイルないかー」と探しにいき、
12
13
  もし実行ファイルが見つかればその実行ファイルを起動します。
13
14
 
15
+ ---
16
+
17
+ となれば、gulpコマンドが実行出来る時、
18
+ PATHで指定したディレクトリ内にファイルの実態があるはずですよね。
19
+ 探してみましょう。
20
+
21
+ ```Bash
22
+ $ cd export PATH=/Users/myname/.npm-global/bin
23
+
24
+ $ ls
25
+ gulp
26
+ ```
27
+
28
+ ありましたか?
29
+ 質問文でgulpコマンドが利用出来たと言っているので、ファイルの実態が存在するはずです。
30
+ このディレクトリをPATHに登録すれば、gulpコマンドが使えるようになります。
31
+ (しっかし`.npm-global`って凄い名前だな…ruccyさんがHomebrewで入れ直してねって言ってる理由がなんとなく分かった)
32
+
33
+ ---
34
+
35
+ では、実際にパスを通しましょう。
14
36
  こんな感じでパスの文字列に認識して欲しいディレクトリの文字列をくっつけてやれば、こうなるわけです。
15
37
 
16
38
  ```Bash
17
- $ PATH=/Users/myname/npm/bin:$PATH
39
+ $ PATH=/Users/myname/.npm-global/bin:$PATH
18
40
 
19
41
  $ echo $PATH
20
- /Users/myname/npm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
42
+ /Users/myname/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
21
43
  ```
22
44
 
23
- ---
24
-
25
45
  しかしこれ、パス通ったはずなのに実行してくれない…
26
46
  実は単に`=`を使って代入しても意味がないのです。
27
47
  `export`というコマンドを使って、ターミナル全体(環境変数)に反映!という一手間を行う必要があります。
@@ -30,8 +50,8 @@
30
50
  # これを実行すればOK
31
51
  $ export $PATH
32
52
 
33
- # 変数宣言と環境変数の設定を同時にする場合はこ書く
53
+ # 変数宣言と環境変数の設定を同時に方法
34
- $ export PATH=/Users/myname/npm/bin:$PATH
54
+ $ export PATH=/Users/myname/.npm-global/bin:$PATH
35
55
  ```
36
56
 
37
57
  参考サイト: [PATHを通すために環境変数の設定を理解する (Mac OS X)](https://qiita.com/soarflat/items/d5015bec37f8a8254380)
@@ -41,7 +61,7 @@
41
61
  > ただしこれを閉じると、再度同じ作業を行わないといけません。
42
62
 
43
63
  環境変数を書き換えても、ターミナルを閉じたりログアウトすると設定は消えます。
44
- これはお約束です。
64
+ 残念ですがこれはお約束です。
45
65
 
46
66
  困りましたね、ターミナル開いた瞬間に読み込んで欲しいのだけど…
47
67
  実はMacやLinuxはターミナルを開くと毎回`~/.bash_profile`を実行するという仕様があります。
@@ -58,7 +78,7 @@
58
78
  今回はターミナル操作でベタッと作ってみます。
59
79
 
60
80
  ```Bash
61
- $ echo "export PATH=/Users/myname/npm/bin:$PATH" > ~/.bash_profile
81
+ $ echo "export PATH=/Users/myname/.npm-global/bin:$PATH" > ~/.bash_profile
62
82
 
63
83
  $ cd ~
64
84
 
@@ -68,4 +88,4 @@
68
88
  ```
69
89
 
70
90
  ざっと流しましたが以上です。
71
- これを元に更に色々調べてみたり、あれこれ動かしてみてください。
91
+ これを元に更に色々調べてみたり、あれこれ動かして確認してみてください。