<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>jianchixuexi (jianchixuexi)</title>
    <link>https://ruby-china.org/jianchixuexi</link>
    <description>编程新手，职业不是编程。每周利用一些业余时间来长期持续坚持学习 ruby，目标是未来用ruby 写几个有人用的小产品。</description>
    <language>en-us</language>
    <item>
      <title>新手问题：Capistrano 部署报错</title>
      <description>&lt;p&gt;新手练习部署，
按照教程 &lt;a href="https://juejin.cn/post/6976996961517830175" rel="nofollow" target="_blank"&gt;https://juejin.cn/post/6976996961517830175&lt;/a&gt;
前面全部都通过了；项目在本地也能启动起来&lt;/p&gt;

&lt;p&gt;在最后一步部署的时候遇到报错：
在 $cap production deploy 之后第 5 步报错
00:05 bundler:install &lt;/p&gt;

&lt;p&gt;报错信息：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;Caused&lt;/span&gt; &lt;span class="ss"&gt;by:
&lt;/span&gt;&lt;span class="no"&gt;SSHKit&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Command&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Failed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;bundle&lt;/span&gt; &lt;span class="nb"&gt;exit&lt;/span&gt; &lt;span class="ss"&gt;status: &lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;
&lt;span class="n"&gt;bundle&lt;/span&gt; &lt;span class="ss"&gt;stdout: &lt;/span&gt;&lt;span class="no"&gt;Nothing&lt;/span&gt; &lt;span class="n"&gt;written&lt;/span&gt;
&lt;span class="n"&gt;bundle&lt;/span&gt; &lt;span class="ss"&gt;stderr: &lt;/span&gt;&lt;span class="no"&gt;Your&lt;/span&gt; &lt;span class="n"&gt;bundle&lt;/span&gt; &lt;span class="n"&gt;only&lt;/span&gt; &lt;span class="n"&gt;supports&lt;/span&gt; &lt;span class="n"&gt;platforms&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"x86_64-darwin-14"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="n"&gt;local&lt;/span&gt; &lt;span class="n"&gt;platform&lt;/span&gt;
&lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;x86_64&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;linux&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;Add&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;current&lt;/span&gt; &lt;span class="n"&gt;platform&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;lockfile&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt;
&lt;span class="sb"&gt;`bundle lock --add-platform x86_64-linux`&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;try&lt;/span&gt; &lt;span class="n"&gt;again&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我在 mac 上部署的，且我在 Gemfile.lock 里面看到 PLATFORMS 部分如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;LATFORMS&lt;/span&gt;
  &lt;span class="n"&gt;ruby&lt;/span&gt;
  &lt;span class="n"&gt;x86_64&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;darwin&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;
  &lt;span class="n"&gt;x86_64&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;linux&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我也尝试了
$ sudo bundle lock --add-platform x86_64-linux&lt;/p&gt;

&lt;p&gt;但重新部署 $cap production deploy  之后还是相同的报错
用报错信息搜了 没有找到相关可尝试解决的方案&lt;/p&gt;

&lt;p&gt;请问有什么可尝试解决这个报错的思路么？&lt;/p&gt;</description>
      <author>jianchixuexi</author>
      <pubDate>Sun, 05 Jun 2022 22:16:01 +0800</pubDate>
      <link>https://ruby-china.org/topics/42434</link>
      <guid>https://ruby-china.org/topics/42434</guid>
    </item>
    <item>
      <title>新手部署 Rails 过程中遇到的 Ubuntu 18.04 安装 Nginx + Passenger 失败问题</title>
      <description>&lt;p&gt;我是新手，在练习部署 rails.
其中的关键步骤，安装 Nginx + Passenger &lt;/p&gt;

&lt;p&gt;本来是按照教程里这个步骤操作：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="n"&gt;adv&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;keyserver&lt;/span&gt; &lt;span class="n"&gt;hkp&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;keyserver&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ubuntu&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;com&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;recv&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;keys&lt;/span&gt; &lt;span class="mi"&gt;561&lt;/span&gt;&lt;span class="no"&gt;F9B9CAC40B2F7&lt;/span&gt;
&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;transport&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;https&lt;/span&gt; &lt;span class="n"&gt;ca&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;certificates&lt;/span&gt;
&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;sh&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="s1"&gt;'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main &amp;gt; /etc/apt/sources.list.d/passenger.list'&lt;/span&gt;
&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="n"&gt;update&lt;/span&gt;
&lt;span class="n"&gt;sudo&lt;/span&gt; &lt;span class="n"&gt;apt&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="n"&gt;nginx&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;extras&lt;/span&gt; &lt;span class="n"&gt;passenger&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但是第 5 步遇到依赖报错了（类似这样：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="ss"&gt;epends: &lt;/span&gt;&lt;span class="n"&gt;perlapi&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;5.18&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;installable&lt;/span&gt;
&lt;span class="no"&gt;Depends&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;libc6&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mf"&gt;2.14&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="mf"&gt;2.13&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;38&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;deb7u8&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;installed&lt;/span&gt;
&lt;span class="no"&gt;Depends&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;libgd3&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mf"&gt;2.1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;alpha&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;installable&lt;/span&gt;
&lt;span class="no"&gt;Depends&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;libperl5&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mf"&gt;5.18&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;it&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;installable&lt;/span&gt;
&lt;span class="no"&gt;Recommends&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;passenger&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mf"&gt;5.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;5.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="n"&gt;trusty1&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;installed&lt;/span&gt; &lt;span class="err"&gt;）&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;搜了一圈定位到问题：上面适用于 Ubuntu 16.04；而不适用于我在用的 18.04
搜到几个遇到相同的同学说重装到 16.04 才解决问题。
于是我先用独立安装的 Nginx 的方式安装好了：
参考文档 &lt;a href="https://www.phusionpassenger.com/library/install/standalone/install/oss/bionic/#" rel="nofollow" target="_blank"&gt;https://www.phusionpassenger.com/library/install/standalone/install/oss/bionic/#&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;但后面配置了 nginx 之后就又报错了，报错信息：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;unknown&lt;/span&gt; &lt;span class="n"&gt;directive&lt;/span&gt; &lt;span class="s2"&gt;"passenger_show_version_in_header"&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="sr"&gt;/etc/n&lt;/span&gt;&lt;span class="n"&gt;ginx&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nginx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;conf&lt;/span&gt;
&lt;span class="n"&gt;configuration&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="sr"&gt;/etc/n&lt;/span&gt;&lt;span class="n"&gt;ginx&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;nginx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;conf&lt;/span&gt; &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="n"&gt;failed&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后把根据报错信息搜到的可能的解决方案都尝试了一遍，都没有搞定：
比如 根据官方的 针对 ubuntu 18.04 来安装 Passenger + Nginx &lt;a href="https://www.phusionpassenger.com/library/install/nginx/install/oss/bionic/" rel="nofollow" target="_blank"&gt;https://www.phusionpassenger.com/library/install/nginx/install/oss/bionic/&lt;/a&gt;
比如 github 的 issue Passenger + Nginx on ubuntu 18.04 is not working  &lt;a href="https://github.com/phusion/passenger_apt_automation/issues/22" rel="nofollow" target="_blank"&gt;https://github.com/phusion/passenger_apt_automation/issues/22&lt;/a&gt;
里面两个人提到的可能的办法也试过了&lt;/p&gt;

&lt;p&gt;我用 nginx -V  查看了 始终没有   passenger module &lt;/p&gt;

&lt;p&gt;请问有什么不改用其他版本的系统的解决办法么？
如果只能改用其他版本系统的话，用比 18.04 更高的版本可以解决这个问题么？&lt;/p&gt;</description>
      <author>jianchixuexi</author>
      <pubDate>Sun, 05 Jun 2022 00:07:42 +0800</pubDate>
      <link>https://ruby-china.org/topics/42432</link>
      <guid>https://ruby-china.org/topics/42432</guid>
    </item>
    <item>
      <title>关于 ruby“方法” 的新手问题</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;a&lt;/span&gt;

  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;c&lt;/span&gt;

  &lt;span class="s1"&gt;'hello,world'&lt;/span&gt;

  &lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="nb"&gt;p&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这段代码返回的结果是  :c
请问这是什么意思？&lt;/p&gt;

&lt;p&gt;为什么返回的不是  'hello,world' ？
以及 c 前面的“ ：”是什么意思？
（刚开始学习 ruby，新手提问，尝试了搜索，找不到相关知识点）&lt;/p&gt;</description>
      <author>jianchixuexi</author>
      <pubDate>Mon, 07 Mar 2022 23:28:31 +0800</pubDate>
      <link>https://ruby-china.org/topics/42190</link>
      <guid>https://ruby-china.org/topics/42190</guid>
    </item>
  </channel>
</rss>
