Pourquoi est-ce que je reçois cette erreur?
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>
Vous devez exécuter la commande suivante pour installer NodeJS dans Ubuntu
Sudo apt-get install nodejs
ou exécutez ceci pour OSX
brew install nodejs
Uglifier est un wrapper JS et nécessite un runtime JS ou un interpréteur JS. Je choisirais d'installer NodeJS.
Dans le fichier Rails _ Gemfile par défaut, la ligne correspondant à la gemme 'therubyracer' est commentée. Si vous le commentez, vous obtiendrez cette gemme et elle devrait fonctionner.
De " Premiers pas avec Rails ":
La compilation des ressources de caféScript et JavaScript nécessite que votre système dispose d’un runtime JavaScript. En l’absence de runtime, une erreur
execjs
apparaît lors de la compilation du patrimoine. Généralement, Mac OS X et Windows sont livrés avec un runtime JavaScript installé. Rails ajoute la gemmetherubyracer
auGemfile
généré dans une ligne commentée pour les nouvelles applications et vous pouvez supprimer le commentaire si vous en avez besoin.therubyrhino
est l'exécution recommandée pour les utilisateurs de JRuby et est ajoutée par défaut à la variableGemfile
dans les applications générées sous JRuby. Vous pouvez examiner toutes les exécutions prises en charge à l’aide de ExecJS .
Une erreur est survenue lors de la création de la base de données.
Le problème est que Node.js a essayé de s'installer sans Sudo
dans le script:
Sudo apt-get install nodejs