我有:
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
$ middleman version
Middleman 2.0.13.1
$ cat /etc/debian_version
6.0.3
如果我开始这样的项目:
$ middleman init np --rack --bundler --template=html5 create np/config.ru create np/Gemfile run bundle install Fetching source index for http://rubygems.org/ Using multi_json (1.0.3) Using activesupport (3.1.1) Using addressable (2.2.6) Using chunky_png (1.2.5) Using coffee-script-source (1.1.2) Using execjs (1.2.9) Using coffee-script (2.2.0) Using fssm (0.2.7) Using sass (3.1.10) Using compass (0.11.5) Using daemons (1.1.4) Using eventmachine (0.12.10) Using em-websocket (0.3.3) Using thor (0.14.6) Using guard (0.6.3) Using guard-livereload (0.3.1) Using haml (3.1.3) Using hike (1.2.1) Using rack (1.3.5) Using url_mount (0.2.1) Using http_router (0.10.2) Using i18n (0.6.0) Using syntax (1.0.0) Using maruku (0.6.0) Using middleman-livereload (0.2.1) Using rack-protection (1.1.4) Using tilt (1.3.3) Using sinatra (1.3.1) Using padrino-core (0.10.5) Using padrino-helpers (0.10.5) Using rack-test (0.6.1) Using temple (0.3.4) Using slim (1.0.3) Using sprockets (2.0.3) Using thin (1.2.11) Using uglifier (1.0.4) Using middleman (2.0.13.1) Using bundler (1.0.21) Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. create np/config.rb create np/source create np/source/404.html create np/source/README.md create np/source/apple-touch-icon-114x114-precomposed.png create np/source/apple-touch-icon-57x57-precomposed.png create np/source/apple-touch-icon-72x72-precomposed.png create np/source/apple-touch-icon-precomposed.png create np/source/apple-touch-icon.png create np/source/crossdomain.xml create np/source/css/style.css create np/source/favicon.ico create np/source/humans.txt create np/source/img/.gitignore create np/source/index.html create np/source/js/libs/jquery-1.6.2.js create np/source/js/libs/jquery-1.6.2.min.js create np/source/js/libs/modernizr-2.0.6.min.js create np/source/js/mylibs/.gitignore create np/source/js/plugins.js create np/source/js/script.js create np/source/robots.txt create np/source/test/index.html create np/source/test/qunit/qunit.css create np/source/test/qunit/qunit.js create np/source/test/tests.js exist np/source
然后进入目录以运行预览:
$ cd np/ $ middleman server Please install rb-inotify gem for Linux inotify support Using polling (Please help us to support your system better than that.) Using inline Guardfile. Guard is now watching at '/tmp/np' /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.9/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.9/lib/execjs.rb:5:in `' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.9/lib/execjs.rb:4:in `' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/renderers/coffee_script.rb:4:in `require' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/renderers/coffee_script.rb:4:in `registered' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1262:in `block in register' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1260:in `each' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1260:in `register' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/core_extensions/rendering.rb:14:in `registered' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1262:in `block in register' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1260:in `each' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1260:in `register' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/base.rb:54:in `registered' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1262:in `block in register' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1260:in `each' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/sinatra-1.3.1/lib/sinatra/base.rb:1260:in `register' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman.rb:180:in `server' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman.rb:191:in `start_server' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/guard.rb:58:in `block in server_start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/guard.rb:57:in `fork' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/guard.rb:57:in `server_start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/guard.rb:47:in `start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.6.3/lib/guard.rb:66:in `supervised_task' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.6.3/lib/guard.rb:43:in `block in start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.6.3/lib/guard.rb:43:in `each' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.6.3/lib/guard.rb:43:in `start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/guard.rb:34:in `start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/lib/middleman/cli.rb:55:in `server' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/thor-0.14.6/lib/thor/task.rb:22:in `run' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/thor-0.14.6/lib/thor/base.rb:389:in `start' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/bin/middleman:52:in `start_cli!' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/bin/middleman:47:in `did_locate_middleman_project' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/bin/middleman:20:in `locate_middleman_root!' from /home/blt/.rvm/gems/ruby-1.9.2-p290/gems/middleman-2.0.13.1/bin/middleman:70:in `' from /home/blt/.rvm/gems/ruby-1.9.2-p290/bin/middleman:19:in `load' from /home/blt/.rvm/gems/ruby-1.9.2-p290/bin/middleman:19:in `' Bye bye...
尽管如此:
$ gem list | grep racer therubyracer (0.9.8) $ gem list | grep inotify rb-inotify (0.8.8)
我关注了RVM Installation Guide和中间人Getting Started。任何有关Middleman无法启动服务器的想法?
答案 0 :(得分:5)
似乎middleman server
用户仅使用基于Gemfile的沙箱。如果您已全局安装了gem,那么它们将不会出现在沙箱中的运行时。由middleman init
创建的原始Gemfile如下所示:
source "http://rubygems.org"
gem "middleman", "~>2.0.13.1"
将其编辑为:
source "http://rubygems.org"
gem "middleman", "~>2.0.13.1"
gem "rb-inotify"
gem "therubyracer"
如果您愿意,可以通过操作系统减少延迟并对其进行参数化。
答案 1 :(得分:0)
如果删除Gemfile.lock文件,然后在根目录中运行
捆绑安装--binstubs ./bin --path vendor / bundle
捆绑包将在本地安装所有包(以及所有可执行文件以./bin开头)
如果有帮助,您也可以尝试我的模板开始
答案 2 :(得分:-1)
这是您需要注意的行
/home/blt/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.2.9/lib/execjs/runtimes.rb:47:in“autodetect”:找不到JavaScript运行时。有关可用运行时的列表,请参阅https://github.com/sstephenson/execjs。 (ExecJS :: RuntimeUnavailable)
基本上你需要在你的系统上安装像js或v8这样的js运行时,以便execjs可以使用它。仔细阅读this