<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hghdo (hghdo)</title>
    <link>https://ruby-china.org/hghdo</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>Rails + JRuby 在 Windows 上也是香的</title>
      <description>&lt;h2 id="Rails+jruby 在windows上也是香的"&gt;Rails+jruby 在 windows 上也是香的&lt;/h2&gt;
&lt;p&gt;由于项目需要最近从 Mac 切到了 windows 平台。说实话 7000 多能用到带 3050 独显的笔记本，不得不说还是有点香的。如果能跑 rails 当然就更香了，于是开整。&lt;/p&gt;

&lt;p&gt;网络上大多都是借助 WSL 实现 windows 上的 rails 开发，可是我要用 android 的虚拟机与 wsl2 有冲突，所以只能使用 jruby 了。&lt;/p&gt;

&lt;p&gt;已经很多年没有关注过 jruby 了，真是士别三日，当刮目相待啊，如今的 jruby 已经羽翼丰满了，对 rails 的支持自然也很到位，而且借助 Java 虚拟机与 JIT 貌似性能也很霸道。不过我只是要一个 windows 的开发环境，性能暂且与我不相干直接开始踩坑。&lt;/p&gt;
&lt;h2 id="安装java和jruby"&gt;安装 java 和 jruby&lt;/h2&gt;
&lt;p&gt;这没啥可说的，java 去下载 openJDK11，配置 JAVA_HOME 和 Path 那些网上一大堆教程，不多说了。jruby 也去官网下载，当前最新的稳定版是 9.3.x。&lt;/p&gt;

&lt;p&gt;安装好了就可以用 ruby 了啦~。powershell+jruby，看起来不好看，但是 jruby 毕竟是 ruby，看到提示符，高兴啊。在 windows 上用 jruby 的话执行命令是：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;jruby &lt;span class="nt"&gt;-S&lt;/span&gt; &amp;lt;cmd&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;下面是一个对照表：
&lt;img src="https://l.ruby-china.com/photo/hghdo/a57508ad-970c-4f9d-a8b7-7f3374b219a7.png!large" title="" alt="jruby与ruby命令对照表"&gt;&lt;/p&gt;

&lt;p&gt;来吧直接替换 gem source 源，安装 rails，创建 rails 项目：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;jruby &lt;span class="nt"&gt;-S&lt;/span&gt; rails new xxx &lt;span class="nt"&gt;-B&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; jdbcmysql
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;终于坑来了&lt;img title=":sob:" alt="😭" src="https://twemoji.ruby-china.com/2/svg/1f62d.svg" class="twemoji"&gt; &lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gem 'sass-rails', '&amp;gt;= 6'
gem 'web-console'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;装不上，报错了，无法完成编译。。。Google 吧，好在并不复杂，&lt;a href="https://github.com/sass/sassc-ruby/issues/182" rel="nofollow" target="_blank" title=""&gt;参考了这里&lt;/a&gt;，需要安装 CRuby with DevKit 并配置一下 Path：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;C:&lt;span class="se"&gt;\j&lt;/span&gt;ruby-9.2.18.0&lt;span class="se"&gt;\b&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;C:&lt;span class="se"&gt;\R&lt;/span&gt;uby26-x64&lt;span class="se"&gt;\m&lt;/span&gt;sys64&lt;span class="se"&gt;\m&lt;/span&gt;ingw64&lt;span class="se"&gt;\b&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;C:&lt;span class="se"&gt;\R&lt;/span&gt;uby26-x64&lt;span class="se"&gt;\m&lt;/span&gt;sys64&lt;span class="se"&gt;\u&lt;/span&gt;sr&lt;span class="se"&gt;\b&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;___other_stuff 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;从新&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;jruby &lt;span class="nt"&gt;-S&lt;/span&gt; bundle &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这货居然搞定了。&lt;/p&gt;

&lt;p&gt;mysql-server 下载 zip 版，简单配置如下：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#初始化，这个会在output中显示生成的root密码，要记一下，后面再改成自己想要的&lt;/span&gt;
mysqld &lt;span class="nt"&gt;--initialize&lt;/span&gt; &lt;span class="nt"&gt;--user&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;root &lt;span class="nt"&gt;--console&lt;/span&gt; 
&lt;span class="c"&gt;#安装系统服务，要用管理员权限运行&lt;/span&gt;
mysqld &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;span class="c"&gt;# 启动停止服务&lt;/span&gt;
net start/stop mysql
&lt;span class="c"&gt;# 改密码&lt;/span&gt;
ALTER USER &lt;span class="s1"&gt;'root'&lt;/span&gt;@&lt;span class="s1"&gt;'localhost'&lt;/span&gt; IDENTIFIED BY &lt;span class="s1"&gt;'123456 or WhatUWant'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;IDE 我用的 rubymine，好用，可以在 IDE 里面直接运行 rails server 和调试 rails。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/hghdo/bd35840c-2299-4d4d-b25a-143928fc58f0.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://notepad.onghu.com/2020/jruby-win-day0-install-hello_world/" rel="nofollow" target="_blank" title=""&gt;参考 1: JRuby on Windows: Day 0 - install and Hello World&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sass/sassc-ruby/issues/182" rel="nofollow" target="_blank" title=""&gt;参考 2: Windows gems do not install on JRuby&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cnblogs.com/fancunwei/p/9492807.html" rel="nofollow" target="_blank" title=""&gt;参考 3: Window 下 mysql 环境配置问题整理&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>hghdo</author>
      <pubDate>Wed, 09 Nov 2022 15:52:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/42728</link>
      <guid>https://ruby-china.org/topics/42728</guid>
    </item>
  </channel>
</rss>
