Произошла ошибка при попытке загрузить гем 'uglifier'. (Bundler::GemRequireError)
Почему я получаю эту ошибку?
shibly@mybox:~/blog$ rails server
/home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each'
from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require'
from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each'
from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require'
from /home/shibly/.gem/ruby/2.2.4/gems/bundler-1.11.2/lib/bundler.rb:99:in `require'
from /home/shibly/blog/config/application.rb:7:in `<top (required)>'
from /home/shibly/.gem/ruby/2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:78:in `require'
from /home/shibly/.gem/ruby/2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:78:in `block in server'
from /home/shibly/.gem/ruby/2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap'
from /home/shibly/.gem/ruby/2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server'
from /home/shibly/.gem/ruby/2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /home/shibly/.gem/ruby/2.2.4/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:9:in `require'
from bin/rails:9:in `<main>
3 ответа
Вы должны выполнить следующую команду, чтобы установить NodeJS в Ubuntu
sudo apt-get install nodejs
или запустите это для OSX
brew install nodejs
Uglifier - это JS-оболочка, и для ее работы требуется среда выполнения JS или интерпретатор JS. Я бы выбрал для установки NodeJS.
В стандартном Rails Gemfile строка для гема therubyracer закомментирована. Если вы раскомментируете его, вы получите этот драгоценный камень, и он должен работать.
Из " Начало работы с Rails":
Компиляция CoffeeScript и сжатие ресурсов JavaScript требует наличия среды выполнения JavaScript, доступной в вашей системе, при отсутствии среды выполнения вы увидите
execjs
ошибка при компиляции активов. Обычно Mac OS X и Windows поставляются с установленной средой выполнения JavaScript. Rails добавляетtherubyracer
драгоценный камень к сгенерированномуGemfile
в комментариях к новым приложениям, и вы можете раскомментировать, если вам это нужно.therubyrhino
является рекомендуемой средой выполнения для пользователей JRuby и по умолчанию добавляется вGemfile
в приложениях, созданных под JRuby. Вы можете исследовать все поддерживаемые среды выполнения в ExecJS.
Произошла ошибка при создании БД.
Проблема в том, что Node.js пытался установить без sudo
в сценарии:
sudo apt-get install nodejs