使用RVM安装Ruby时,gem的路径(例如/var/lib/gems/1.8/bin/)?

时间:2013-03-25 15:42:09

标签: ruby rubygems rvm ubuntu-12.04 jekyll

这里的第一次Ruby用户,以及Jekyll就是原因。

首先,我安装了RVM(在Ubuntu Server 12.04 64位上):

\curl -L https://get.rvm.io | bash -s stable

按照安装过程的指示执行后续说明(例如,将source ~/.profile添加到~/.bash_profile)。 FULL INSTRUCTIONS I followed are here

读取rvm requirements命令的输出,并安装所有必需的二进制文件。

安装Ruby 1.9.3,配置RVM使用它,然后通过一个接一个地发出以下命令安装RubyGems:

rvm install 1.9.3
rvm use 1.9.3
rvm rubygems current

ruby --version以确保我使用的是Ruby 1.9.3。

然后使用gem安装了Jekyll:

gem install jekyll

通过复制jekyll/site provided by the official Jekyll repository的内容设置基本网站结构,然后对_config.ymlCNAME进行必要的更改。

这就是事情!当我运行jekyll --server时,我会得到相同的旧TCP/Webrick error(但没有一个解决方案可以正常工作)。

所以,as the Jekyll wiki says,可能就是这样:

  

在Debian或Ubuntu上,您可能需要在路径中添加/var/lib/gems/1.8/bin/

问题是:

  1. 就我而言,/var/lib/gems/...不存在。可能是因为我安装了Ruby,RubyGems,都使用RVM。那么,我的道路是什么?

  2. 同样,如果我知道路径,我应该如何“将/var/lib/gems/*.*/bin/添加到您的路径”​​

1 个答案:

答案 0 :(得分:1)

首先,如果你的意思是

,你可以忽略这个问题
[2012-04-21 13:46:40] WARN  TCPServer Error: Address already in use - bind(2)

这是因为RubyGems上最新版本的jekyll中的一些错误代码,但它似乎已在latest code on github中得到纠正。 jekyll创建的服务器尝试绑定IPv4('0.0.0.0')和IPv6('::'),因此第一次绑定成功,IPv6上的绑定失败并记录警告。

查看~/.rvm目录中的jekyll可执行文件,可能是~/.rvm/gems/ruby-1.9.3-p392/gems/jekyll-0.12.1/bin/jekyll,位于第288行:

s = HTTPServer.new(
  :Port            => options['server_port'],
  :MimeTypes       => mime_types
)

此处HTTPServerWEBrick::HTTPServer。 jekyll在未指定:BindAddress配置的情况下创建服务器。并且绑定地址默认设置为nil

WEBrick将调用Socket.getaddrinfo从指定的绑定地址获取实际地址,当在nil地址中传递时,返回IPv4('0.0.0.0')和IPv6的通配符地址( '::')。之后,WEBrick调用TCPServer.new(address, port)来创建TCPServer。这就是TCPServer Error出现的地方。

有关详情,请参阅WEBrick::Utils.create_listeners