<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>по стопам webkill&#039;а &#187; ruby 1.9</title>
	<atom:link href="http://blog.lukmus.ru/tag/ruby-1-9/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>referer-спам</title>
		<link>http://blog.lukmus.ru/2012/02/04/referer-spam/</link>
		<comments>http://blog.lukmus.ru/2012/02/04/referer-spam/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 04:37:36 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[методы и способы]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[RefControl]]></category>
		<category><![CDATA[referer]]></category>
		<category><![CDATA[ruby 1.9]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=1222</guid>
		<description><![CDATA[Я частенько смотря статистику молодых сайтов или не столь популярных сайтов (типо этого блога), интересуюсь с какого сайта зашли на мой. Хотя бы для того чтобы узнать где размещена молодая ссылка на мой сайт т.к. в статистиках/счетчиках она быстрее зафиксируется, чем в инструментах вебмастера от Яндекса или Гугла. Порой перехожу по этим ссылкам. Ну, а [...]]]></description>
			<content:encoded><![CDATA[<p>Я частенько смотря статистику молодых сайтов или не столь популярных сайтов (типо этого блога), интересуюсь с какого сайта зашли на мой. Хотя бы для того чтобы узнать где размещена молодая ссылка на мой сайт т.к. в статистиках/счетчиках она быстрее зафиксируется, чем в инструментах вебмастера от Яндекса или Гугла. Порой перехожу по этим ссылкам. Ну, а какой URL фигурирует в статистиках, разумеется тот который указан в Referer заголовка HTTP-запроса.<br />
Короче, я думаю, что реферерами в статистике интересуюсь не только я.<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2012/02/morning-glory-hole-in-the-water.jpg"><img class="aligncenter size-full wp-image-1223" title="morning-glory-hole-in-the-water" src="http://blog.lukmus.ru/wp-content/uploads/2012/02/morning-glory-hole-in-the-water.jpg" alt="" width="517" height="400" /></a><span id="more-1222"></span><br />
Исходя из всего вышесказанного, я считаю, что можно увеличивать посещаемость сайта засчет ссылок в реферерах. Короче говоря, я сделал следующим образом.</p>
<h3>почему нужен браузер</h3>
<p>Сделать простой скриптик, который бы заходил на все подряд сайты имея при этом в заголовке нужный нам реферер не вариант т.к. он прокатит только в том случае если статистику ведет какой-нибудь серверный скрипт/плагин к CMS итд, в случае если веб-мастер смотрит статистику через всякие JS-ые штуки типа Яндекс.Метрика или Google Analytics, а такой расклад преобладает, наш реферер никуда не запишется т.к. простенький скриптик, мягко говоря, не умеет интерпретировать JavaScript.</p>
<p>Собственно поэтому нам нужен полноценный браузер.</p>
<h3>firefox &amp; RefControl</h3>
<p>Т.к. я в основном пользуюсь FF, я рассматривал только его.<br />
Изменить заголовок пакета, в том числе и referer, в FF можно миллиардом разных плагинов, но чтобы изменить его 1 раз для всех сайтов и всех запросов больше не заходя в настройки нужен только 1 плагин  &#8211; RefControl.<br />
Короче, устанавливаем этот RefControl в FF и настраиваем, благо там все элементарно. Лично я настроил так:<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2012/02/people3.png"><img class="aligncenter size-full wp-image-1226" title="people3" src="http://blog.lukmus.ru/wp-content/uploads/2012/02/people3.png" alt="" width="517" height="299" /></a><br />
И вам тоже советую настроить также, <span style="text-decoration: line-through;">поставить Referer как http://ii.lukmus.ru/</span>.</p>
<p>На этом я и остановился, я также как и всегда лазию по инету, но еще и оставляю ссылку на себя.</p>
<h3>автоматический вариант. суперкостыли</h3>
<p>Лично я считаю, что сайты,  веб-мастера которых смотрят рефереры на свои сайты, лежат <a rel="nofollow" href="http://blogs.yandex.ru/top/standalone/?page=0" target="_blank">здесь</a>, причем на странице где-то больше 300-ой.<br />
Поэтому предлагаю вот такой скриптик на Ruby, который парсит яндекс.блоги и загружает их поочереди в FF.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span> <span style="color: #0000ff;">'net/http'</span> 
&nbsp;
http<span style="color: #339933;">=</span>Net<span style="color: #339933;">::</span><span style="color: #004000;">HTTP</span><span style="color: #339933;">.</span><span style="color: #000000; font-weight: bold;">new</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'blogs.yandex.ru'</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">300</span><span style="color: #339933;">..</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #990000;">each</span> <span style="color: #b1b100;">do</span> <span style="color: #339933;">|</span>page<span style="color: #339933;">|</span>
  path<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;/top/standalone/?page=#{page}&quot;</span>
  resp<span style="color: #339933;">,</span>data<span style="color: #339933;">=</span>http<span style="color: #339933;">.</span>get<span style="color: #009900;">&#40;</span>path<span style="color: #009900;">&#41;</span>
  data<span style="color: #339933;">.</span>scan<span style="color: #009900;">&#40;</span><span style="color: #339933;">/&gt;&lt;</span>\<span style="color: #339933;">/</span>a<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;(http:\/\/.+?)&quot;</span> title<span style="color: #339933;">=/</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>
    collect<span style="color: #009900;">&#123;</span><span style="color: #339933;">|</span>l<span style="color: #339933;">|</span> l<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">.</span><span style="color: #990000;">each</span> <span style="color: #b1b100;">do</span> <span style="color: #339933;">|</span><span style="color: #990000;">link</span><span style="color: #339933;">|</span>
    <span style="color: #990000;">system</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;firefox #{link}&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #990000;">sleep</span> <span style="color: #cc66cc;">10</span> <span style="color: #666666; font-style: italic;">#время на прогрузку страницы
</span>    <span style="color: #990000;">system</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;killall firefox&quot;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #990000;">end</span><span style="color: #666666; font-style: italic;">#each
</span><span style="color: #990000;">end</span><span style="color: #666666; font-style: italic;">#each</span></pre></td></tr></table></div>

<p>Разумеется окно FF будет раздражительно появляться и исчезать на экране, и чтобы сэкономить нервные клетки предлагаю запускать подобные вещи в виртуальной машине.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2012/02/04/referer-spam/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>хэш-несовместимость Rails 3.1.x для REE</title>
		<link>http://blog.lukmus.ru/2011/12/16/hesh-nesovmestimost-rails-3-1-x-dlya-ree/</link>
		<comments>http://blog.lukmus.ru/2011/12/16/hesh-nesovmestimost-rails-3-1-x-dlya-ree/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 21:48:53 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[REE]]></category>
		<category><![CDATA[ruby 1.8]]></category>
		<category><![CDATA[ruby 1.9]]></category>
		<category><![CDATA[ruby on rails 3]]></category>
		<category><![CDATA[хэш]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=1152</guid>
		<description><![CDATA[Судьба заставила вернуться к REE, несмотря на мой последний комментарий. Так вот c приложением написанным на рельсах версии равной или больше 3.1.x при запуске его на REE может возникнуть ошибка с хэшами. Ошибка имеет следующий вид: $ rails s =&#62; Booting WEBrick =&#62; Rails 3.1.1 application starting in development on http://0.0.0.0:3000 =&#62; Call with -d [...]]]></description>
			<content:encoded><![CDATA[<p>Судьба заставила вернуться к REE, несмотря на мой <a href="http://blog.lukmus.ru/?p=1130&amp;cpage=1#comment-6232">последний комментарий</a>. Так вот c приложением написанным на рельсах версии равной или больше 3.1.x при запуске его на REE может возникнуть ошибка с хэшами.<br />
<img class="aligncenter size-full wp-image-1157" title="хэш" src="http://blog.lukmus.ru/wp-content/uploads/2011/12/303222297.jpg" alt="" width="517" height="310" /><span id="more-1152"></span><br />
Ошибка имеет следующий вид:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">$ rails s
=<span style="color: #000000; font-weight: bold;">&gt;</span> Booting WEBrick
=<span style="color: #000000; font-weight: bold;">&gt;</span> Rails 3.1.1 application starting <span style="color: #000000; font-weight: bold;">in</span> development on http:<span style="color: #000000; font-weight: bold;">//</span>0.0.0.0:<span style="color: #000000;">3000</span>
=<span style="color: #000000; font-weight: bold;">&gt;</span> Call with <span style="color: #660033;">-d</span> to detach
=<span style="color: #000000; font-weight: bold;">&gt;</span> Ctrl-C to shutdown server
Exiting
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span>activesupport-3.1.1<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>active_support<span style="color: #000000; font-weight: bold;">/</span>dependencies.rb:<span style="color: #000000;">235</span>:in <span style="color: #000000; font-weight: bold;">`</span>load<span style="color: #ff0000;">': &lt;
path_to_app&gt;/config/initializers/session_store.rb:3:
syntax error, unexpected '</span>:<span style="color: #ff0000;">', expecting $end (SyntaxError)
...sion_store :cookie_store, key: '</span>_<span style="color: #000000; font-weight: bold;">&lt;</span>app<span style="color: #000000; font-weight: bold;">&gt;</span>_session<span style="color: #ff0000;">'
                              ^
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:235:in `load'</span>
        from <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span>activesupport-3.1.1<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>active_support<span style="color: #000000; font-weight: bold;">/</span>dependencies.rb:<span style="color: #000000;">223</span>:in <span style="color: #000000; font-weight: bold;">`</span>load_dependency<span style="color: #ff0000;">'
...</span></pre></td></tr></table></div>

<p>И если открыть тот самый файл, где возникает ошибка, <code>config/initializers/session_store.rb</code>, то в 3-ей строке можно увидеть, что-то типа:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#6666ff; font-weight:bold;">App::Application</span>.<span style="color:#9900CC;">config</span>.<span style="color:#9900CC;">session_store</span> <span style="color:#ff3333; font-weight:bold;">:cookie_store</span>, key: <span style="color:#996600;">'_app_session'</span></pre></td></tr></table></div>

<p>Если вдруг кто не знает, то запись вида</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;">a=<span style="color:#006600; font-weight:bold;">&#123;</span>one: <span style="color:#006666;">1</span>, two: <span style="color:#006666;">2</span>, three: <span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#125;</span></pre></td></tr></table></div>

<p>в Ruby 1.9.x обозначает хэш, аналогичный</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;">a=<span style="color:#006600; font-weight:bold;">&#123;</span>:one<span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#006666;">1</span>, <span style="color:#ff3333; font-weight:bold;">:two</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#006666;">2</span>, <span style="color:#ff3333; font-weight:bold;">:three</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#006666;">3</span><span style="color:#006600; font-weight:bold;">&#125;</span></pre></td></tr></table></div>

<p>Короче говоря это обычный хэш, только записанный в другом варианте. Ruby 1.8.x не понимает такую запись и выдает ошибку. А поскольку на данный момент REE это Ruby 1.8.7, то ошибке сам Бог велел вылетать.<br />
Исправить ее можно преобразовав все хэши нового вида к традиционному, т.е. например 3-я строка нашего файла должна выглядеть так:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#6666ff; font-weight:bold;">App::Application</span>.<span style="color:#9900CC;">config</span>.<span style="color:#9900CC;">session_store</span> <span style="color:#ff3333; font-weight:bold;">:cookie_store</span>, <span style="color:#ff3333; font-weight:bold;">:key</span><span style="color:#006600; font-weight:bold;">=&gt;</span><span style="color:#996600;">'_app_session'</span></pre></td></tr></table></div>

<p><code>config/initializers/session_store.rb</code> далеко не единственный файл где Rails 3.1.x формирует новый вид хэша. Исправлять также придеться <code>config/initializers/wrap_parameters.rb</code>, все контроллеры сделанные через <code>scaffold</code> и возможно еще что-то.<br />
Под новоиспеченным хэшем в скаффолдских контроллерах я подразумеваю такие экшены типа:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> index
  <span style="color:#0066ff; font-weight:bold;">@valutes</span> = Valute.<span style="color:#9900CC;">all</span>
&nbsp;
  respond_to <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span><span style="color:#CC0066; font-weight:bold;">format</span><span style="color:#006600; font-weight:bold;">|</span>
    <span style="color:#CC0066; font-weight:bold;">format</span>.<span style="color:#9900CC;">html</span> <span style="color:#008000; font-style:italic;"># index.html.erb</span>
    <span style="color:#CC0066; font-weight:bold;">format</span>.<span style="color:#9900CC;">json</span> <span style="color:#006600; font-weight:bold;">&#123;</span> render json: <span style="color:#0066ff; font-weight:bold;">@valutes</span> <span style="color:#006600; font-weight:bold;">&#125;</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>И вообще REE мне не нравиться.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/12/16/hesh-nesovmestimost-rails-3-1-x-dlya-ree/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>xmpp4r/xmpp4r-simple учим русскому</title>
		<link>http://blog.lukmus.ru/2011/08/12/xmpp4rxmpp4r-simple-uchim-russkomu/</link>
		<comments>http://blog.lukmus.ru/2011/08/12/xmpp4rxmpp4r-simple-uchim-russkomu/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 02:26:39 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[ASCII-8BIT]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[ruby 1.9]]></category>
		<category><![CDATA[xmpp4r]]></category>
		<category><![CDATA[xmpp4r-simple]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=1058</guid>
		<description><![CDATA[Обычно как только сделаешь простейший клиент XMPP через используя гем xmpp4r начинается трабла с русским языком, а точнее со всеми кодировками != ASCII. Т.е. все прекрасно работает до тех пор пока не появится текст не на английском. Если в коде включен отладчик и код выглядит примерно так: 1 2 3 4 5 6 7 8 [...]]]></description>
			<content:encoded><![CDATA[<p>Обычно как только сделаешь простейший клиент XMPP через используя гем xmpp4r начинается трабла с русским языком, а точнее со всеми кодировками != ASCII. Т.е. все прекрасно работает до тех пор пока не появится текст не на английском.<br />
<img class="aligncenter size-full wp-image-1059" title="95daab683a7c" src="http://blog.lukmus.ru/wp-content/uploads/2011/08/95daab683a7c.jpg" alt="" width="517" height="325" /><span id="more-1058"></span><br />
Если в коде включен отладчик и код выглядит примерно так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#coding: utf-8</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'rubygems'</span>
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'xmpp4r-simple'</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">include</span> Jabber
Jabber::debug = <span style="color:#0000FF; font-weight:bold;">true</span>
&nbsp;
jabber = <span style="color:#6666ff; font-weight:bold;">Jabber::Simple</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'login@server.com'</span>, <span style="color:#996600;">'pass'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#CC0066; font-weight:bold;">loop</span> <span style="color:#9966CC; font-weight:bold;">do</span>
   messages = jabber.<span style="color:#9900CC;">received_messages</span>
   <span style="color:#008000; font-style:italic;">#jabber.status(:away,'lets chat')</span>
   messages.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>message<span style="color:#006600; font-weight:bold;">|</span>
     body = message.<span style="color:#9900CC;">body</span> <span style="color:#008000; font-style:italic;">#if message.type == :chat</span>
     <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">'&gt;'</span><span style="color:#006600; font-weight:bold;">+</span>body
     jabber.<span style="color:#9900CC;">deliver</span><span style="color:#006600; font-weight:bold;">&#40;</span>message.<span style="color:#9900CC;">from</span>, <span style="color:#996600;">'Re:'</span><span style="color:#006600; font-weight:bold;">+</span>body<span style="color:#006600; font-weight:bold;">&#41;</span>
   <span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#each</span>
   <span style="color:#CC0066; font-weight:bold;">sleep</span> <span style="color:#006666;">1</span>
<span style="color:#9966CC; font-weight:bold;">end</span><span style="color:#008000; font-style:italic;">#loop</span></pre></td></tr></table></div>

<p>То и вылетит ошибка примерно такая:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">REXML::ParseException <span style="color: #666666; font-style: italic;">#&lt;Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)&gt;</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>rubies<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span>1.9.1<span style="color: #000000; font-weight: bold;">/</span>rexml<span style="color: #000000; font-weight: bold;">/</span>source.rb:<span style="color: #000000;">214</span>:in <span style="color: #000000; font-weight: bold;">`</span>match<span style="color: #ff0000;">'
    /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rexml/source.rb:214:in `match'</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>rubies<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span>1.9.1<span style="color: #000000; font-weight: bold;">/</span>rexml<span style="color: #000000; font-weight: bold;">/</span>parsers<span style="color: #000000; font-weight: bold;">/</span>baseparser.rb:<span style="color: #000000;">369</span>:in <span style="color: #000000; font-weight: bold;">`</span>pull<span style="color: #ff0000;">'
    /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rexml/parsers/sax2parser.rb:92:in `parse'</span>
    <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span>xmpp4r-<span style="color: #000000;">0.5</span><span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>xmpp4r<span style="color: #000000; font-weight: bold;">/</span>streamparser.rb:<span style="color: #000000;">79</span>:in <span style="color: #000000; font-weight: bold;">`</span>parse<span style="color: #ff0000;">'
    /usr/local/rvm/gems/ruby-1.9.2-p180/gems/xmpp4r-0.5/lib/xmpp4r/stream.rb:75:in `block in start'</span>
    ...
    Exception parsing
    Line:
    Position: <span style="color: #000000;">0</span>
    Last <span style="color: #000000;">80</span> unconsumed characters:</pre></td></tr></table></div>

<p>Лечится она еще проще чем <a href="http://blog.lukmus.ru/?p=1048">предыдущая</a>.<br />
Открываем тот самый<code> /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rexml/source.rb</code>, находим строку с номером 214 (я там в файле уже понавставлял несколько лишних строчек, поэтому номер может несущественно отличатся):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>211
212
213
214
215
216
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">...
<span style="color:#9966CC; font-weight:bold;">def</span> match<span style="color:#006600; font-weight:bold;">&#40;</span> pattern, cons=<span style="color:#0000FF; font-weight:bold;">false</span> <span style="color:#006600; font-weight:bold;">&#41;</span>
      rv = pattern.<span style="color:#9900CC;">match</span><span style="color:#006600; font-weight:bold;">&#40;</span>@buffer<span style="color:#006600; font-weight:bold;">&#41;</span>
      <span style="color:#0066ff; font-weight:bold;">@buffer</span> = $<span style="color:#996600;">' if cons and rv
      while !rv and @source
...</span></pre></td></tr></table></div>

<p>И приводим этот кусок к виду:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>211
212
213
214
215
216
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">...
<span style="color:#9966CC; font-weight:bold;">def</span> match<span style="color:#006600; font-weight:bold;">&#40;</span> pattern, cons=<span style="color:#0000FF; font-weight:bold;">false</span> <span style="color:#006600; font-weight:bold;">&#41;</span>
      <span style="color:#0066ff; font-weight:bold;">@buffer</span>=@buffer.<span style="color:#9900CC;">force_encoding</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">'utf-8'</span><span style="color:#006600; font-weight:bold;">&#41;</span>
      rv = pattern.<span style="color:#9900CC;">match</span><span style="color:#006600; font-weight:bold;">&#40;</span>@buffer<span style="color:#006600; font-weight:bold;">&#41;</span>
      <span style="color:#0066ff; font-weight:bold;">@buffer</span> = $<span style="color:#996600;">' if cons and rv
...</span></pre></td></tr></table></div>

<p>Также на всякий случай не помешает вставить в самое начало этого файла строчку:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;">#coding: utf-8</span></pre></td></tr></table></div>

<p>После таких манипуляций у меня все начало корректно работать.<br />
<meta property="og:image" content="http://blog.lukmus.ru/wp-content/uploads/2011/08/95daab683a7c.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/08/12/xmpp4rxmpp4r-simple-uchim-russkomu/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>xmpp4r-simple на ruby 1.9.2</title>
		<link>http://blog.lukmus.ru/2011/08/12/xmpp4r-simple-na-ruby-1-9-2/</link>
		<comments>http://blog.lukmus.ru/2011/08/12/xmpp4r-simple-na-ruby-1-9-2/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 00:07:51 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[case-when]]></category>
		<category><![CDATA[ruby 1.9]]></category>
		<category><![CDATA[xmpp4r-simple]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=1048</guid>
		<description><![CDATA[Не знаю почему такую панику вызвала ошибка гема xmpp4r-simple в ruby 1.9.2 у матерых пользователей Хабра. Собственно сама ошибка выглядит так: 1 2 3 4 5 6 7 8 9 10 11 12 /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:58:in `require': /usr/localrvm/gems/ruby-1.9.2-p180/gems/xmpp4r-simple-0.8.8 /lib/xmpp4r-simple.rb:441: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n' (SyntaxError) when nil: new_presence.show &#124;&#124; :online [...]]]></description>
			<content:encoded><![CDATA[<p>Не знаю почему такую панику вызвала ошибка гема xmpp4r-simple в ruby 1.9.2 у матерых пользователей <a rel="nofollow" href="http://habrahabr.ru/blogs/ror/119567/" target="_blank">Хабра</a>.<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2011/08/snimok-3.png"><img class="aligncenter size-full wp-image-1049" title="Снимок-3" src="http://blog.lukmus.ru/wp-content/uploads/2011/08/snimok-3.png" alt="" width="501" height="425" /></a><span id="more-1048"></span><br />
Собственно сама ошибка выглядит так:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>rubies<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span>site_ruby<span style="color: #000000; font-weight: bold;">/</span>1.9.1<span style="color: #000000; font-weight: bold;">/</span>rubygems<span style="color: #000000; font-weight: bold;">/</span>custom_require.rb:<span style="color: #000000;">58</span>:in <span style="color: #000000; font-weight: bold;">`</span>require<span style="color: #ff0000;">': /usr/localrvm/gems/ruby-1.9.2-p180/gems/xmpp4r-simple-0.8.8
/lib/xmpp4r-simple.rb:441: syntax error, unexpected '</span>:<span style="color: #ff0000;">', expecting  keyword_then or '</span>,<span style="color: #ff0000;">' or '</span>;<span style="color: #ff0000;">' or '</span>\n<span style="color: #ff0000;">' (SyntaxError)
                   when nil: new_presence.show || :online
                            ^
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/xmpp4r-simple-0.8.8/lib/xmpp4r-simple.rb:442: syntax error, unexpected keyword_when, expecting keyword_end
                   when :unavailable: :unavailable
                       ^
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/xmpp4r-simple-0.8.8/lib/xmpp4r-simple.rb:443: syntax error, unexpected keyword_else, expecting keyword_end
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/xmpp4r-simple-0.8.8/lib/xmpp4r-simple.rb:490: syntax error, unexpected keyword_end, expecting $end
	from /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:58:in  `rescue in require'</span>
	from <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>rvm<span style="color: #000000; font-weight: bold;">/</span>rubies<span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.2-p180<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span>site_ruby<span style="color: #000000; font-weight: bold;">/</span>1.9.1<span style="color: #000000; font-weight: bold;">/</span>rubygems<span style="color: #000000; font-weight: bold;">/</span>custom_require.rb:<span style="color: #000000;">35</span>:in <span style="color: #000000; font-weight: bold;">`</span>require<span style="color: #ff0000;">'
	from xmpp.rb:3:in `&lt;main&gt;'</span></pre></td></tr></table></div>

<p>Странно, что никому в голову не пришло проверить ту самую злополучную 441 строку в <code>/usr/local/rvm/gems/ruby-1.9.2-p180/gems/xmpp4r-simple-0.8.8/lib/xmpp4r-simple.rb</code>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>441
442
443
444
445
446
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">presence = <span style="color:#9966CC; font-weight:bold;">case</span> new_presence.<span style="color:#9900CC;">type</span>
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#0000FF; font-weight:bold;">nil</span>: new_presence.<span style="color:#9900CC;">show</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#ff3333; font-weight:bold;">:online</span>
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#ff3333; font-weight:bold;">:unavailable</span>: <span style="color:#ff3333; font-weight:bold;">:unavailable</span>
<span style="color:#9966CC; font-weight:bold;">else</span>
  <span style="color:#0000FF; font-weight:bold;">nil</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>Ruby 1.9 не понимает case-when, где после условия идет двоеточие. Все что нужно, чтобы исправить этот баг и запустить xmpp4r-simple на Ruby 1.9.x это убрать <code>:</code> и перенести действие за условием на следующую строку.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>441
442
443
444
445
446
447
448
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">presence = <span style="color:#9966CC; font-weight:bold;">case</span> new_presence.<span style="color:#9900CC;">type</span>
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#0000FF; font-weight:bold;">nil</span>
  new_presence.<span style="color:#9900CC;">show</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#ff3333; font-weight:bold;">:online</span>
<span style="color:#9966CC; font-weight:bold;">when</span> <span style="color:#ff3333; font-weight:bold;">:unavailable</span>
  <span style="color:#ff3333; font-weight:bold;">:unavailable</span>
<span style="color:#9966CC; font-weight:bold;">else</span>
  <span style="color:#0000FF; font-weight:bold;">nil</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre></td></tr></table></div>

<p>И теперь, по крайней мере у меня, xmpp4r-simple завелся как литой.<br />
<meta property="og:image" content="http://blog.lukmus.ru/wp-content/uploads/2011/08/Снимок-3.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/08/12/xmpp4r-simple-na-ruby-1-9-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>нормальная установка Ruby 1.9 и Rails 3 через RVM</title>
		<link>http://blog.lukmus.ru/2011/06/10/normalnaya-ustanovka-ruby-1-9-i-rails-3-cherez-rvm/</link>
		<comments>http://blog.lukmus.ru/2011/06/10/normalnaya-ustanovka-ruby-1-9-i-rails-3-cherez-rvm/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 13:44:17 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[ruby & ruby on rails]]></category>
		<category><![CDATA[настройка и установка]]></category>
		<category><![CDATA[fedora 13 x64]]></category>
		<category><![CDATA[Fedora 15]]></category>
		<category><![CDATA[ruby 1.9]]></category>
		<category><![CDATA[ruby on rails 3]]></category>
		<category><![CDATA[RVM]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=985</guid>
		<description><![CDATA[Для тех кто не знает, RVM &#8211; Ruby Version Manager, это такая штука которая позволяет иметь одновременно вагон разных версий Ruby, причем не только Ruby, а и IronRuby, REE, Rubinius и т.д. и при этом все они будут работать и не конфликтовать. Все что тут будет сделано делалось на Fedora&#8217;х 13 и 15. установка RVM [...]]]></description>
			<content:encoded><![CDATA[<p>Для тех кто не знает, RVM &#8211; Ruby Version Manager, это такая штука которая позволяет иметь одновременно вагон разных версий Ruby, причем не только Ruby, а и IronRuby, REE, Rubinius и т.д. и при этом все они будут работать и не конфликтовать.<br />
<a href="http://blog.lukmus.ru/wp-content/uploads/2011/06/rvm.png"><img class="aligncenter size-full wp-image-986" title="rvm" src="http://blog.lukmus.ru/wp-content/uploads/2011/06/rvm.png" alt="" width="517" height="464" /></a><span id="more-985"></span><br />
Все что тут будет сделано делалось на Fedora&#8217;х 13 и 15.</p>
<h2>установка RVM</h2>
<p>Для начала установим Git.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install git -y</span></pre></td></tr></table></div>

<p>Далее <a rel="nofollow" href="https://rvm.beginrescueend.com/" target="_blank">офсайт</a> RVM рекомендует выполнить не под рутом следующую команду:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$ bash <span style="color: #339933;">&lt;</span> <span style="color: #339933;">&lt;</span><span style="color: #009900;">&#40;</span>curl <span style="color: #339933;">-</span>s https<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//rvm.beginrescueend.com/install/rvm)</span>
Cloning into rvm<span style="color: #339933;">...</span>
remote<span style="color: #339933;">:</span> Counting objects<span style="color: #339933;">:</span> <span style="color: #cc66cc;">4986</span><span style="color: #339933;">,</span> done<span style="color: #339933;">.</span>
remote<span style="color: #339933;">:</span> Compressing objects<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2340</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2340</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> done<span style="color: #339933;">.</span>
remote<span style="color: #339933;">:</span> Total <span style="color: #cc66cc;">4986</span> <span style="color: #009900;">&#40;</span>delta <span style="color: #cc66cc;">3224</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> reused <span style="color: #cc66cc;">3588</span> <span style="color: #009900;">&#40;</span>delta <span style="color: #cc66cc;">1959</span><span style="color: #009900;">&#41;</span>
Receiving objects<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4986</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">4986</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color:#800080;">1.63</span> MiB <span style="color: #339933;">|</span> <span style="color: #cc66cc;">87</span> KiB<span style="color: #339933;">/</span>s<span style="color: #339933;">,</span> done<span style="color: #339933;">.</span>
Resolving deltas<span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">%</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3224</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">3224</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> done<span style="color: #339933;">.</span></pre></td></tr></table></div>

<p>Нужно отметить, что в Fedora 15 эта команда действительно сработала и все прошло гладко, однако в Fedora 13 у меня так не получилось. Но не беда, кстати если у вас не установлен curl его надо обязательно поставить, в Fedora 13 можно просто скачать скрипт и запустить его:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$ wget https<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//rvm.beginrescueend.com/install/rvm</span>
$ <span style="color: #990000;">chmod</span> u<span style="color: #339933;">+</span>x rvm <span style="color: #339933;">&amp;&amp;</span> sh rvm</pre></td></tr></table></div>

<h2>установка Ruby и примочек</h2>
<p>После установки RVM можно приступить к установке ruby, gem и прочего.<br />
Устанавливаем Ruby 1.9.2 (перед этим убедитесь что установлен gcc с соответсвующими фишками):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$ rvm install 1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2
Installing Ruby from source to<span style="color: #339933;">:</span> <span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>username<span style="color: #339933;">/.</span>rvm<span style="color: #339933;">/</span>rubies<span style="color: #339933;">/</span>
ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180<span style="color: #339933;">,</span>this may take a <span style="color: #b1b100;">while</span> depending on
your cpu<span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">...</span>
ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180 <span style="color: #339933;">-</span> <span style="color: #666666; font-style: italic;">#fetching
</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180 <span style="color: #339933;">-</span> <span style="color: #666666; font-style: italic;">#extracted to /home/username/.rvm/src/
</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180 <span style="color: #009900;">&#40;</span>already extracted<span style="color: #009900;">&#41;</span>
Fetching yaml<span style="color: #339933;">-</span>0<span style="color: #339933;">.</span>1<span style="color: #339933;">.</span>3<span style="color: #339933;">.</span>tar<span style="color: #339933;">.</span>gz to <span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>username<span style="color: #339933;">/.</span>rvm<span style="color: #339933;">/</span>archives
<span style="color: #339933;">...</span>
$ rvm ruby <span style="color: #339933;">-</span>v
ruby 1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2p180 <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2011</span><span style="color: #339933;">-</span><span style="color: #208080;">02</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">18</span> revision <span style="color: #cc66cc;">30909</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#91;</span>x86_64<span style="color: #339933;">-</span>linux<span style="color: #009900;">&#93;</span>
$ rvm gem <span style="color: #339933;">-</span>v
1<span style="color: #339933;">.</span>6<span style="color: #339933;">.</span>2</pre></td></tr></table></div>

<p>Чтобы можно было запускать руби без &#8216;rvm&#8217; добавляем в конец  <code>~/.bashrc</code></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span> <span style="color: #339933;">-</span>s <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$HOME</span>/.rvm/scripts/rvm&quot;</span> <span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$HOME</span>/.rvm/scripts/rvm&quot;</span></pre></td></tr></table></div>

<p>и перезапускаем консоль.</p>
<h2>установка Rails 3</h2>
<p>Если попытатся сейчас установить рельсы, то скорее всего произойдет старая история с zlib&#8217;ом:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># gem install rails
</span>ERROR<span style="color: #339933;">:</span>  Loading command<span style="color: #339933;">:</span> install <span style="color: #009900;">&#40;</span>LoadError<span style="color: #009900;">&#41;</span>
    no such <span style="color: #990000;">file</span> to load <span style="color: #339933;">--</span> zlib
ERROR<span style="color: #339933;">:</span>  <span style="color: #b1b100;">While</span> executing gem <span style="color: #339933;">...</span> <span style="color: #009900;">&#40;</span>NameError<span style="color: #009900;">&#41;</span>
    uninitialized <span style="color: #990000;">constant</span> Gem<span style="color: #339933;">::</span><span style="color: #004000;">Commands</span><span style="color: #339933;">::</span><span style="color: #004000;">InstallCommand</span></pre></td></tr></table></div>

<p>Чтобы это исправить сначала установим сам zlib:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install zlib zlib-devel</span></pre></td></tr></table></div>

<p>А потом ищем куда RVM кинул сорцы Ruby и компилим zlib вручную:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># find / -name ruby-1.9.2*
</span><span style="color: #339933;">...</span>
<span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>username<span style="color: #339933;">/.</span>rvm<span style="color: #339933;">/</span>src<span style="color: #339933;">/</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180
<span style="color: #339933;">...</span>
<span style="color: #666666; font-style: italic;"># cd /home/username/.rvm/src/ruby-1.9.2-p180 &amp;&amp; cd ext/zlib
</span><span style="color: #666666; font-style: italic;"># ruby extconf.rb &amp;&amp; make &amp;&amp; make install</span></pre></td></tr></table></div>

<p>Теперь можно и установить сами рельсы:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># gem install rails</span></pre></td></tr></table></div>

<p>После чего сделать тестовое приложение:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$ rails <span style="color: #000000; font-weight: bold;">new</span> wapp
$ cd wapp
$ rails server
Could not find gem <span style="color: #0000ff;">'sqlite3 (&gt;= 0)'</span> in any of the gem
sources listed in your Gemfile<span style="color: #339933;">.</span>
Run `bundle install` to install missing gems<span style="color: #339933;">.</span></pre></td></tr></table></div>

<p>Если появилась такая шляпа насчет sqlite3, то разумеется нужно установить этот гем:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install sqlite-devel.x86_64
</span><span style="color: #666666; font-style: italic;"># gem install sqlite3</span></pre></td></tr></table></div>

<p>И в конце еще кое-что нужно установить:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install openssl-devel
</span>$ cd <span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>username<span style="color: #339933;">/.</span>rvm<span style="color: #339933;">/</span>src<span style="color: #339933;">/</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180
$ cd ext<span style="color: #339933;">/</span>openssl
$ ruby extconf<span style="color: #339933;">.</span>rb <span style="color: #339933;">&amp;&amp;</span> make <span style="color: #339933;">&amp;&amp;</span> make install</pre></td></tr></table></div>

<p>Ну и еще совсем чуть-чуть (Readline нужен для консоли Rails):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># yum install readline readline-devel
</span>$ cd <span style="color: #339933;">/</span>home<span style="color: #339933;">/</span>username<span style="color: #339933;">/.</span>rvm<span style="color: #339933;">/</span>src<span style="color: #339933;">/</span>ruby<span style="color: #339933;">-</span>1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2<span style="color: #339933;">-</span>p180<span style="color: #339933;">/</span>ext<span style="color: #339933;">/</span>readline
$ ruby extconf<span style="color: #339933;">.</span>rb <span style="color: #339933;">&amp;&amp;</span> make <span style="color: #339933;">&amp;&amp;</span> make install</pre></td></tr></table></div>

<h2>вуаля</h2>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$ rails server
<span style="color: #339933;">=&gt;</span> Booting WEBrick
<span style="color: #339933;">=&gt;</span> Rails 3<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>8 application starting in development on
http<span style="color: #339933;">:</span><span style="color: #666666; font-style: italic;">//0.0.0.0:3000</span>
<span style="color: #339933;">=&gt;</span> Call with <span style="color: #339933;">-</span>d to detach
<span style="color: #339933;">=&gt;</span> Ctrl<span style="color: #339933;">-</span>C to shutdown server
<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2011</span><span style="color: #339933;">-</span><span style="color: #208080;">06</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">10</span> <span style="color: #cc66cc;">17</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">36</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#93;</span> INFO  WEBrick 1<span style="color: #339933;">.</span>3<span style="color: #339933;">.</span>1
<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2011</span><span style="color: #339933;">-</span><span style="color: #208080;">06</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">10</span> <span style="color: #cc66cc;">17</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">36</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#93;</span> INFO  ruby 1<span style="color: #339933;">.</span>9<span style="color: #339933;">.</span>2 <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2011</span><span style="color: #339933;">-</span><span style="color: #208080;">02</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">18</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#91;</span>x86_64<span style="color: #339933;">-</span>linux<span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2011</span><span style="color: #339933;">-</span><span style="color: #208080;">06</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">10</span> <span style="color: #cc66cc;">17</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">36</span><span style="color: #339933;">:</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#93;</span> INFO  WEBrick<span style="color: #339933;">::</span><span style="color: #004000;">HTTPServer</span><span style="color: #666666; font-style: italic;">#start:
</span>pid<span style="color: #339933;">=</span><span style="color: #cc66cc;">20796</span> port<span style="color: #339933;">=</span><span style="color: #cc66cc;">3000</span></pre></td></tr></table></div>

<p>P.S. подробнее о RVM и о том какие чудеса можно с ним творить читайте на оффсайте: <a rel="nofollow" href="https://rvm.beginrescueend.com/" target="_blank">https://rvm.beginrescueend.com/</a><br />
<meta property="og:image" content="http://blog.lukmus.ru/wp-content/uploads/2011/06/rvm.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2011/06/10/normalnaya-ustanovka-ruby-1-9-i-rails-3-cherez-rvm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
