web-dev-qa-db-fra.com

Une erreur s'est produite lors de la tentative de chargement du bijou 'uglifier'. (Bundler :: GemRequireError)

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>
118
shibly

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.

250
Marcos Serpa

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 gemme therubyracer au Gemfile 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 variable Gemfile dans les applications générées sous JRuby. Vous pouvez examiner toutes les exécutions prises en charge à l’aide de ExecJS .

36
user3780968

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
0
gleb glazkov