【Ruby on Rails】rails serverでエラー

【Ruby on Rails】rails serverでエラー

railsのインストールまで終えたので、いきようようと rails server をしようとしたところエラーとなりました。

[hase_done@localhost tesrails2]$ rails s
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:84:in `rescue in block (2 levels) i
n require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
Backtrace for gem load error is:
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/execjs-2.7.0/lib/execjs/runtimes.rb:58:in `autodetect'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/execjs-2.7.0/lib/execjs.rb:5:in `<module:ExecJS>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/execjs-2.7.0/lib/execjs.rb:4:in `<top (required)>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/uglifier-3.2.0/lib/uglifier.rb:5:in `require'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/uglifier-3.2.0/lib/uglifier.rb:5:in `<top (required)>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:81:in `require'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:81:in `block (2 levels) in require'

/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:76:in `each'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:76:in `block in require'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:65:in `each'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:65:in `require'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler.rb:114:in `require'
/home/hase_done/tesrails2/config/application.rb:7:in `<top (required)>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:129:in `requir
e'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:129:in `block
in perform'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:126:in `tap'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:126:in `perfor
m'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/base.rb:63:in `perform'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:44:in `invoke'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands.rb:16:in `<top (required)>'
/home/hase_done/tesrails2/bin/rails:9:in `require'
/home/hase_done/tesrails2/bin/rails:9:in `<top (required)>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/home/hase_done/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
/home/hase_done/tesrails2/bin/spring:15:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Bundler Error Backtrace:
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:80:in `block (2 levels
) in require'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:76:in `each'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:76:in `block in requir
e'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:65:in `each'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:65:in `require'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler.rb:114:in `require'
        from /home/hase_done/tesrails2/config/application.rb:7:in `<top (required)>'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:1
29:in `require'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:1
29:in `block in perform'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:1
26:in `tap'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands/server/server_command.rb:1
26:in `perform'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command/base.rb:63:in `perform'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/command.rb:44:in `invoke'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/railties-5.1.2/lib/rails/commands.rb:16:in `<top (required)>
'
        from /home/hase_done/tesrails2/bin/rails:9:in `require'
        from /home/hase_done/tesrails2/bin/rails:9:in `<top (required)>'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
        from /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:68:in `require'
        from /home/hase_done/tesrails2/bin/spring:15:in `<top (required)>'
        from bin/rails:3:in `load'
        from bin/rails:3:in `<main>'

となったので検索したらtherubyracerというgemが必要みたいです。

gem 'therubyracer'

をrails newしたプロジェクトディレクトリ直下のGemfileに追記して、再度bundle install!!

Fetching therubyracer 0.12.3
Installing therubyracer 0.12.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.3/ext/v8
/home/hase_done/.rbenv/versions/2.4.2/bin/ruby -r ./siteconf20171130-3664-bwgbm0.rb extconf.rb
checking for -lpthread... yes
creating Makefile

current directory: /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.3/ext/v8
make "DESTDIR=" clean

current directory: /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.3/ext/v8
make "DESTDIR="
compiling accessor.cc
make: g++: Command not found
make: *** [accessor.o] Error 127

make failed, exit code 2

Gem files will remain installed in /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.3 for inspection.
Results logged to /home/hase_done/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0-static/therubyracer-0.12.3/gem_make.out

An error occurred while installing therubyracer (0.12.3), and Bundler cannot continue.
Make sure that `gem install therubyracer -v '0.12.3'` succeeds before bundling.

In Gemfile:
  therubyracer

だめだった。

g++: Command not found

とあるので

$ sudo yum install -y gcc-c++

ここで再度bundle install!!!

出来た。

$ rails server

が無事動きました。

完 はらはらさせる~

参考サイト様

https://www.scriptlife.jp/contents/programming/2017/11/27/ror-error-uglifier/

https://qiita.com/pugiemonn/items/11a2bc8403e5947a8f13

http://krs1.hatenablog.com/entry/2016/05/30/120000

Comments

No comments yet. Why don’t you start the discussion?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です