2013-08-06 4 views
3

저는 루비에 새 것이지만 중개자와 함께 완료된 프로젝트를 컴파일하려고합니다.중개자 및 Gemfile과의 종속성에 오류가 있습니다.

>> bundle exec middleman build 
/var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 
    from /var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>' 
    from /var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>' 
    from /var/lib/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require' 
    from /var/lib/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/renderers/coffee_script.rb:2:in `require' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/renderers/coffee_script.rb:2:in `<top (required)>' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/core_extensions/rendering.rb:33:in `require' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/core_extensions/rendering.rb:33:in `registered' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/core_extensions/extensions.rb:90:in `register' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/application.rb:160:in `<class:Application>' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/application.rb:18:in `<module:Middleman>' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/application.rb:17:in `<top (required)>' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core.rb:16:in `require' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core.rb:16:in `<top (required)>' 
    from /var/lib/gems/1.9.1/gems/middleman-3.0.13/lib/middleman.rb:2:in `require' 
    from /var/lib/gems/1.9.1/gems/middleman-3.0.13/lib/middleman.rb:2:in `<top (required)>' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/lib/middleman-core/load_paths.rb:38:in `setup_load_paths' 
    from /var/lib/gems/1.9.1/gems/middleman-core-3.0.13/bin/middleman:10:in `<top (required)>' 
    from /usr/local/bin/middleman:23:in `load' 
    from /usr/local/bin/middleman:23:in `<main>' 

이미 설치 한 :

>> bundle install 
Using i18n (0.6.1) 
Using multi_json (1.7.3) 
Using activesupport (3.2.13) 
Using chunky_png (1.2.8) 
Using coffee-script-source (1.3.3) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using fssm (0.2.10) 
Using sass (3.2.8) 
Using compass (0.12.2) 
Using ffi (1.8.1) 
Using tilt (1.3.7) 
Using haml (4.0.2) 
Using hike (1.2.2) 
Using rack (1.4.5) 
Using url_mount (0.2.1) 
Using http_router (0.10.2) 
Using json (1.7.7) 
Using listen (0.7.3) 
Using syntax (1.0.0) 
Using maruku (0.6.1) 
Using bundler (1.3.5) 
Using rack-test (0.6.2) 
Using rb-fsevent (0.9.3) 
Using thor (0.15.4) 
Using middleman-core (3.0.13) 
Using rack-protection (1.5.0) 
Using sinatra (1.3.6) 
Using padrino-core (0.10.7) 
Using padrino-helpers (0.10.7) 
Using uglifier (1.2.7) 
Using middleman-more (3.0.13) 
Using sprockets (2.9.3) 
Using sprockets-sass (0.9.1) 
Using middleman-sprockets (3.0.11) 
Using middleman (3.0.13) 
Using rb-inotify (0.9.0) 
Your bundle is complete! 
Use `bundle show [gemname]` to see where a bundled gem is installed. 

내가 Gemfile 종속성 컴파일하면 다음과 같은 저에게 말한다 :

난 다음 명령을 사용하여 설치된 모든 종속성이 있음을 확인했다 자바 스크립트 런타임 :

>> sudo gem install therubyracer 

그리고 만약 내가 컴파일하려고하면 Gemfile 보없이, 이것은 다른 버전 오류 제공 :

>> middleman build 
    /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:33:in `block in setup': You have already activated listen 1.2.2, but your Gemfile requires listen 0.7.3. Using bundle exec may solve this. (Gem::LoadError) 
     from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:19:in `setup' 
     from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup' 
     from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/setup.rb:7:in `<top (required)>' 
     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require' 
     from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require' 
     from /var/lib/gems/1.9.1/gems/middleman-core-3.1.4/lib/middleman-core/load_paths.rb:30:in `setup_load_paths' 
     from /var/lib/gems/1.9.1/gems/middleman-core-3.1.4/bin/middleman:10:in `<top (required)>' 
     from /usr/local/bin/middleman:23:in `load' 
     from /usr/local/bin/middleman:23:in `<main>' 

내가 Gemfile에이 보석을 추가 할 경우 나도 몰라,하지만 넣어되어야 할 것이다. 나는 루비가 잘못 이해했는지 또는 잘못하고 있는지 모르겠다. 누군가 내 실수로 나를 안내 할 수 있으면 고맙습니다. 것 같다

감사

답변

5

는 중매인은/https://github.com/middleman/middleman/issues/276#issuecomment-4037229를 참조 이러한 당 플랫폼 종속성을 제공하지 않습니다 수 없습니다 알려진 '문제'가 될 수 있습니다.

https://stackoverflow.com/a/7860385에 따르면 당신은 당신의 Gemfile에 다음을 추가 할 수 있습니다

gem "rb-inotify" 
gem "therubyracer" 

번 다음 bundle exec middleman buildbundle install 실행 당신을 도움이 될 것입니다.

+0

대단히 감사합니다! Volker Rose! 나는 therararacer 의존성을 Gemfile에 추가했을 뿐이었다. – intropedro