回答編集履歴
2
文章の体裁を整え,tyotto
test
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-
色々と情報が足りませんので、エスパー解答します。
|
2
|
-
|
3
|
-
どれどれ…?
|
4
|
-
|
5
|
-
|
6
|
-
|
7
1
|
> ```Bash
|
8
2
|
|
9
3
|
/home/vagrant/socket.io/node_modules/socket.io/node_modules/engine.io/node_modules/uws/uws.js:3
|
@@ -18,15 +12,11 @@
|
|
18
12
|
|
19
13
|
|
20
14
|
|
21
|
-
|
15
|
+
Vagrant + VirtualBoxで立ち上げた仮想マシン内のCentOSですね?
|
22
16
|
|
23
|
-
|
17
|
+
例えばMacでHomebrew等を利用してNode.jsを導入しても、
|
24
18
|
|
25
|
-
|
26
|
-
|
27
|
-
MacでHomebrew等を利用してNode.jsを導入しても、
|
28
|
-
|
29
|
-
仮想マシンとは違う環境になってしまうので、
|
19
|
+
仮想マシンとは違う環境になってしまうので、Node.jsの環境は共有されません。
|
30
20
|
|
31
21
|
|
32
22
|
|
@@ -38,9 +28,13 @@
|
|
38
28
|
|
39
29
|
|
40
30
|
|
31
|
+
おっしゃる通りNode.jsのバージョンが古い事が原因です。
|
32
|
+
|
33
|
+
|
34
|
+
|
41
35
|
エラーメッセージを読む限りだと…
|
42
36
|
|
43
|
-
|
37
|
+
エラーが出ているのはsocket.ioライブラリの中で発生しています。
|
44
38
|
|
45
39
|
`node_modules/socket.io/node_modules/engine.io/node_modules/uws/uws.js`
|
46
40
|
|
@@ -54,10 +48,6 @@
|
|
54
48
|
|
55
49
|
|
56
50
|
|
57
|
-
お見事!おっしゃる通りNode.jsのバージョンが古い事が原因です。
|
58
|
-
|
59
|
-
|
60
|
-
|
61
51
|
---
|
62
52
|
|
63
53
|
|
@@ -66,15 +56,13 @@
|
|
66
56
|
|
67
57
|
|
68
58
|
|
69
|
-
CentOS
|
59
|
+
CentOSが採用しているパッケージ管理ソフト、yumはソフトのバージョンを枯れた状態に保つ事を好みます。
|
70
60
|
|
71
|
-
|
61
|
+
なのでyumのパッケージで単純にアップデートを繰り返しても、Node.jsパッケージが更新される事はありません。
|
72
62
|
|
73
|
-
|
63
|
+
ですので、質問文の状況に陥ってしまい、いくらyumをアップデートしても古いバージョンのNode.jsしかインストールされなかったわけですね。
|
74
64
|
|
75
65
|
|
76
|
-
|
77
|
-
さて、私の好き嫌いはどうでも良いのでアップデート方法を紹介します。
|
78
66
|
|
79
67
|
まずは古いNode.jsは下記の記事を参考にアンインストールしましょう。
|
80
68
|
|
@@ -82,7 +70,7 @@
|
|
82
70
|
|
83
71
|
|
84
72
|
|
85
|
-
おっと、インストールはまだしないでください
|
73
|
+
おっと、インストールはまだしないでください。
|
86
74
|
|
87
75
|
[Node.jsの公式サイトのダウンロード](https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora)で、最新バージョンのNode.jsのインストール方法が紹介されています。
|
88
76
|
|
@@ -99,3 +87,5 @@
|
|
99
87
|
私は[nodebrew](https://qiita.com/kentana20/items/05f1a4af9812398863fa)というNode.jsのバージョン管理ツールを利用しています。
|
100
88
|
|
101
89
|
ちょっと初期導入に癖がありますが、バージョンにすぐ追従出来るので便利に活用しています。
|
90
|
+
|
91
|
+
NVMといったパッケージ管理ツールもありますので、色々調べてみてください。
|
1
CentOSのバージョンアップの詳細を記載
test
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
色々と情報が足りませんので、エスパー解答します。
|
2
2
|
|
3
3
|
どれどれ…?
|
4
|
-
|
5
|
-
|
6
4
|
|
7
5
|
|
8
6
|
|
@@ -22,28 +20,82 @@
|
|
22
20
|
|
23
21
|
わかりました。
|
24
22
|
|
25
|
-
その環境はVagrant + VirtualBoxで立ち上げたCentOSですね?
|
23
|
+
その環境はVagrant + VirtualBoxで立ち上げた仮想マシン内のCentOSですね?
|
26
24
|
|
25
|
+
|
26
|
+
|
27
|
+
MacでHomebrew等を利用してNode.jsを導入しても、
|
28
|
+
|
29
|
+
仮想マシンとは違う環境になってしまうので、入れ直しになってしまいます。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
---
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
> 調べるとnode.jsのバージョン(v0.10.48)が古くsocket.ioに対応していないために起こるエラーであるとのことでした
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
エラーメッセージを読む限りだと…
|
42
|
+
|
43
|
+
なるほど、エラーが出ているのはsocket.ioライブラリの中ですね。
|
44
|
+
|
45
|
+
`node_modules/socket.io/node_modules/engine.io/node_modules/uws/uws.js`
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
具体的な原因はuws.jsファイルの3行目、`const`を使って変数宣言していますが、
|
50
|
+
|
51
|
+
Node.jsのバージョンが古すぎてまだ未対応の書式と言っています。
|
52
|
+
|
53
|
+
つまり、そもそもNode.jsがコードの解析を諦めてエラーを出しているので実行すらしていません。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
お見事!おっしゃる通りNode.jsのバージョンが古い事が原因です。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
---
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
> インストールをし直しても、npmから更新をかけても、バージョンが0.10.48から更新されません。
|
66
|
+
|
67
|
+
|
68
|
+
|
27
|
-
|
69
|
+
CentOSはyumのパッケージが勝手に更新されませんので、
|
28
70
|
|
29
71
|
何も対策せずにyumのパッケージでNode.jsをインストールすると、非常に古いバージョンのNode.jsがインストールされてしまいます。
|
30
72
|
|
31
|
-
|
32
|
-
|
33
|
-
ただ、`socket.io`が原因というのはまだわかりません。
|
34
|
-
|
35
|
-
|
73
|
+
この辺の仕様が面倒でCentOSは個人的に嫌いです。
|
36
74
|
|
37
75
|
|
38
76
|
|
39
|
-
|
77
|
+
さて、私の好き嫌いはどうでも良いのでアップデート方法を紹介します。
|
40
78
|
|
41
|
-
Node.jsの
|
79
|
+
まずは古いNode.jsは下記の記事を参考にアンインストールしましょう。
|
42
80
|
|
43
|
-
|
81
|
+
[CentOS 6.xにLTS(4.3.0)のnode.jsをインストールする](https://qiita.com/zaburo/items/a69ab94f707454a5bbe7)
|
44
82
|
|
45
83
|
|
46
84
|
|
47
|
-
|
85
|
+
おっと、インストールはまだしないでくださいね。
|
48
86
|
|
87
|
+
[Node.jsの公式サイトのダウンロード](https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora)で、最新バージョンのNode.jsのインストール方法が紹介されています。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
---
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
おまけ
|
96
|
+
|
97
|
+
|
98
|
+
|
49
|
-
[nodebrew](https://qiita.com/kentana20/items/05f1a4af9812398863fa)というNode.jsのバージョン管理ツールを
|
99
|
+
私は[nodebrew](https://qiita.com/kentana20/items/05f1a4af9812398863fa)というNode.jsのバージョン管理ツールを利用しています。
|
100
|
+
|
101
|
+
ちょっと初期導入に癖がありますが、バージョンにすぐ追従出来るので便利に活用しています。
|