CentOSにNodejs+socket.io+expressをインストールする。

javascript

他のサイトを参考に、インストールを実行したら自分の環境ではエラー及びワーニングが発生したので最終的にインスト―ルした方法を記載します。

Nodejsのインストール

エラーが発生したインストール方法

$yum --enablerepo=epel -y install nodejs npm

インストールは正常に終了し、簡単な”Hellow world”サンプルも正常に表示されました。
そのあとsocket.io+expressをインストールしてサンプルを起動すると下記エラーが発生しました。

$node sample.js
websocket.js:345
. . .options
^^^
SyntaxError:Unexpected token . . .

最終的なインストール方法

同様のエラーが下記サイトに記載されていたので、下記方法でインストールを実行するとエラーは出なくなりました。

$yum install -y gcc-c++ make
$curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash -
$yum --enablerepo=epel -y install nodejs npm
$yum remove -y nodejs npm ←先にnodejsがインストールされてた場合は必要
$yum install nodejs
$node -v ←バージョン確認 
v10.22.0

Socket.IO & expressのインストール

エラーが発生したインストール方法

$npm install socket.io express 

上記方法でインストールを行うと、下記ワーニングが発生

WRM enoent ENOENT:no such file or directory,open 'package.json'
WRM ws@7.3.1 requires a peer of bufferutil@^4.0.1 but none was installed
WRM ws@7.3.1 requires a peer of utf-8-validate@^5.0.2 but none was installed

ワーニングの内容は”プロジェクトルートにpackage.jsonファイルがない”および”必要なモジュールがない”。

最終的なインストール方法

下記方法で再度インストールを実行すると、正常に実行できました。

$npm init --yes
$npm install utf-8-validate
$npm install bufferutil 
$npm install socket.io
$npm install express 

参考サイト

コメント