3

アプリをユーザー wercker に設定する際に問題があります。私の wercker.yml は次のようになります。

box: ruby
services:
  - postgres
build:
    steps:
        - script:
            name: Nokogiri fix
            code: bundle config build.nokogiri --use-system-libraries
        - bundle-install
        - rails-database-yml
        - script:
            name: Set up db
            code: bundle exec rake db:schema:load RAILS_ENV=test
        - script:
            name: rspec
            code: bundle exec rspec

ビルドを実行すると、次のエラーで失敗します。

rake aborted!
Bundler::GemRequireError: There was an error while trying to load the gem 'uglifier'.
/pipeline/source/config/application.rb:7:in `<top (required)>'
/pipeline/source/Rakefile:4:in `require'
/pipeline/source/Rakefile:4:in `<top (required)>'
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
/pipeline/cache/bundle-install/ruby/2.3.0/gems/execjs-2.6.0/lib/execjs/runtimes.rb:48:in `autodetect'
/pipeline/cache/bundle-install/ruby/2.3.0/gems/execjs-2.6.0/lib/execjs.rb:5:in `<module:ExecJS>'
/pipeline/cache/bundle-install/ruby/2.3.0/gems/execjs-2.6.0/lib/execjs.rb:4:in `<top (required)>'
/pipeline/cache/bundle-install/ruby/2.3.0/gems/uglifier-2.7.2/lib/uglifier.rb:3:in `require'
/pipeline/cache/bundle-install/ruby/2.3.0/gems/uglifier-2.7.2/lib/uglifier.rb:3:in `<top (required)>'
/pipeline/source/config/application.rb:7:in `<top (required)>'
/pipeline/source/Rakefile:4:in `require'
/pipeline/source/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace

nodejs を wercker にインストールする必要があると思いますが、どうすればこれを行うことができるのでしょうか?

4

1 に答える 1

2

質問に対するコメントが示唆するように、javascript ランタイムをインストールする必要があります。

いくつかのオプションがあります:

  1. gem 'therubyracer'Gemfileに追加します。
  2. apt-get、brew などで nodejs をインストールします。

不必要に宝石をプロジェクトに追加しないように、オプション 2 を使用します。

于 2016-03-16T19:48:01.597 に答える