0

当我尝试在本地运行 Jekyll --server 时遇到问题。我收到以下我无法破译的错误:

/Users/jgindi/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in 'require': iconv will be deprecated in the future, use String#encode instead.
Configuration from /Users/jgindi/Desktop/Codestuffs/julian25.github.com/_config.yml
/Users/jgindi/.rvm/gems/ruby-1.9.3-p125/gems/directory_watcher-1.4.1/lib/directory_watcher/em_scanner.rb:10:in `block in <top (required)>': undefined method 'kqueue' for EventMachine:Module (NoMethodError)

我不明白是什么问题?

4

3 回答 3

3

由于您使用的是 RVM,请为您的博客创建一个新的 gemset,并确保您没有在该 gemset 中安装 eventmachine。directory_watcher 中的 Eventmachine 支持是实验性的。当我使用来自 GitHub 的博客源代码创建空白 gemset 时,我无法重现您看到的错误。

于 2013-01-08T19:19:40.433 回答
1

这可能是您已经在本地主机上运行了一些东西

在终端输入这个

lsof -i TCP:3000

3000是您使用的端口号,4000例如。

它会返回这样的东西

joshuahornby ~/workspace/myBlog/ (master) 
→ lsof -i TCP:3000
COMMAND  PID   USER       FD     TYPE     DEVICE     SIZE/OFF    NODE   NAME
ruby   68780   renaebair   6u    IPv4     0x10898278     0t0      TCP     *:hbci (LISTEN)

获取进程号(又名 PID)(在本例中为 68780),然后输入“kill #{that_pid}”:

kill 68780 

然后尝试连接到 --server

于 2013-01-08T12:47:46.357 回答
0

其中一些可能是由于较旧的 eventmachine 版本。

当我有 eventmachine-0.12.10 时,我遇到了这个问题。重新安装 eventmachine 将我带到 1.0.3 并且 jekyll 在那之后开始正常。

于 2013-04-13T13:44:19.200 回答