発生現象
AWSのEC2でWebサーバ、アプリケーションサーバの設定時に、環境変数の設定をする際の$ rake secret
を実行した際に下記Errorが発生。
terminal
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
/var/www/chat-space/config/application.rb:7:in `<top (required)>'
/var/www/chat-space/Rakefile:4:in `require_relative'
/var/www/chat-space/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)
→Javascriptがうまく走っていないので、Node.jsをinstallする。
install確認
local環境にて
terminal
$node --versionv12.16.1
AWSの本番環境にもinstallする
terminal
sudo yum install nodejs --enablerepo=epel ←実行
読み込んだプラグイン:priorities, update-motd, upgrade-helper
amzn-main | 2.1 kB 00:00:00
amzn-updates | 3.8 kB 00:00:00
epel/x86_64/metalink | 5.3 kB 00:00:00
epel | 4.7 kB 00:00:00
nodesource | 2.5 kB 00:00:00
(1/3): epel/x86_64/group_gz | 74 kB 00:00:00
(2/3): epel/x86_64/updateinfo | 789 kB 00:00:00
(3/3): epel/x86_64/primary_db | 6.1 MB 00:00:00
1073 packages excluded due to repository priority protections
依存性の解決をしています
-->トランザクションの確認を実行しています。
--->パッケージ nodejs.x86_64 2:6.17.1-1nodesource を インストール
-->依存性の処理をしています: python >= 2.6 のパッケージ: 2:nodejs-6.17.1-1nodesource.x86_64
-->トランザクションの確認を実行しています。
--->パッケージ python26.x86_64 0:2.6.9-2.89.amzn1 を インストール
-->依存性の処理をしています: libpython2.6.so.1.0()(64bit)のパッケージ: python26-2.6.9-2.89.amzn1.x86_64
-->トランザクションの確認を実行しています。
--->パッケージ python26-libs.x86_64 0:2.6.9-2.89.amzn1 を インストール
-->依存性解決を終了しました。
依存性を解決しました
==========================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
==========================================================================================
インストール中:
nodejs x86_64 2:6.17.1-1nodesource nodesource 13 M
依存性関連でのインストールをします:
python26 x86_64 2.6.9-2.89.amzn1 amzn-main 5.8 M
python26-libs x86_64 2.6.9-2.89.amzn1 amzn-main 697 k
トランザクションの要約
==========================================================================================
インストール 1 パッケージ (+2 個の依存関係のパッケージ)
総ダウンロード容量: 20 M
インストール容量: 59 M
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/latest/nodesource/packages/nodejs-6.17.1-1nodesource.x86_64.rpm: ヘッダー V4 RSA/SHA512 Signature、鍵 ID 34fa74dd: NOKEY
nodejs-6.17.1-1nodesource.x86_64.rpm の公開鍵がインストールされていません
(1/3): nodejs-6.17.1-1nodesource.x86_64.rpm | 13 MB 00:00:00
(2/3): python26-libs-2.6.9-2.89.amzn1.x86_64.rpm | 697 kB 00:00:00
(3/3): python26-2.6.9-2.89.amzn1.x86_64.rpm | 5.8 MB 00:00:01
------------------------------------------------------------------------------------------
合計 16 MB/s | 20 MB 00:00:01
file:///etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL から鍵を取得中です。
Importing GPG key 0x34FA74DD:
Userid : "NodeSource <gpg-rpm@nodesource.com>"
Fingerprint: 2e55 207a 95d9 944b 0cc9 3261 5ddb e8d4 34fa 74dd
Package : nodesource-release-el7-1.noarch (installed)
From : /etc/pki/rpm-gpg/NODESOURCE-GPG-SIGNING-KEY-EL
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : python26-libs-2.6.9-2.89.amzn1.x86_64 1/3
インストール中 : python26-2.6.9-2.89.amzn1.x86_64 2/3
インストール中 : 2:nodejs-6.17.1-1nodesource.x86_64 3/3
検証中 : 2:nodejs-6.17.1-1nodesource.x86_64 1/3
検証中 : python26-2.6.9-2.89.amzn1.x86_64 2/3
検証中 : python26-libs-2.6.9-2.89.amzn1.x86_64 3/3
インストール:
nodejs.x86_64 2:6.17.1-1nodesource
依存性関連をインストールしました:
python26.x86_64 0:2.6.9-2.89.amzn1 python26-libs.x86_64 0:2.6.9-2.89.amzn1
完了しました!
以上で本番環境でもjavascriptが走るようになりました。