【Rails4】DB作成でエラー(Gem Load Error is: Could not find a JavaScript runtime)
RailsでDBを作成しようとした際にエラーが発生したときの対応をメモです。
【エラーメッセージ】
Bundler::GemRequireError: There was an error while trying to load the gem 'uglifier'. Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
【実行コマンド】
$ rake db:create RAILS_ENV=production
【原因】
gemのインストールが必要
※参考
https://qiita.com/azusanakano/items/771dc9919f347de061d7
【対処】
Gemfileでgem 'therubyracer'を追加
※参考
https://qiita.com/azusanakano/items/771dc9919f347de061d7
$ vi Gemfile
gem 'therubyracer'
$ bundle install
上記の対応をしたところ、エラーメッセージが下記に変わる。
【エラーメッセージ】
Access denied for user 'App'@'localhost' (using password: NO)Please provide the root password for your MySQL installation
【原因】
database.ymlにmysqlのrootのパスワードを記載する必要がある
【対処】
$ vi config/database.yml
default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: <パスワード> #空欄になっているので、パスワードを追記する。 socket: /var/lib/mysql/mysql.sock . . 省略 . . production: <<: *default database: App_production username: App #ここをコメントアウト password: <%= ENV['APP_DATABASE_PASSWORD'] %> #ここをコメントアウト
$ service mysqld restart
※環境情報
OS:Centos6.9
フレームワーク : Rails 4.2.9
Web:apache 2.2
DB : MySQL 5.6
ruby:2.3.7