新手问题 如何在 win2003 或 xp 上安装 ruby (>= 2.3)

L-codes · 2019年01月24日 · 最后由 L-codes 回复于 2019年01月26日 · 743 次阅读

使用rubyinstaller安装的ruby,无法运行报出下面的错误

下面issue提到rubyinstaller也并不打算支持xp或win2k3 https://github.com/oneclick/rubyinstaller/issues/271

我也正在尝试编译ruby 但是编译也遇到很多问题,现在卡在这里,有解决过的,求指导一下

请问有什么方式,在win2k3上安装运行ruby? 有在xp和win2003能运行的ruby吗?也求打包共享一份

共收到 32 条回复

Windows XP / 2003 都是不被支持的 OS 了, 不再收到安全补丁更新, 新软件支持越来越少. 有什么理由一定要用么.

如果可以不用, 还是推荐升级到 Windows 10.

今年 2019 年……

win2k3 安装个 linux 虚拟机,然后商品映射,这只是个想法,你可以试一下。

这系统别说ruby,java也不一定跑得起来,跑得起来就jruby

5long 回复

还有很多服务器在用win2003的。。。而且这些服务器我不能提建议升级也不能太大动作- -

Rei 回复

可事实是,现在内网还有很多win2k3的服务器。。。

这种自寻死路的,还是自己玩吧

Peter 回复

不能搭建linux虚拟机,需求是尽可能小的传输。。。因为我还需要用ocra打包程序到win2k3运行

oldfritter 回复

为什么是自寻死路?这样说吧 win2k3服务器不是我自己的 我需要在那服务器上通过ruby运行一些进程

nouse 回复

可是工作总不能因为这系统,就放弃工作了呀。比较喜欢ruby所以优先考虑用ruby,实在不行就用python或go写了,看看社区里是否有人解决过这个问题

我也希望能支持winxp win2003 这边有几百台老电脑,内存只有2G,CPU也旧。

sevk 回复

终于有人理解了 😂

rubyinstaller装不了的,2.0开始就不行,印象中是gcc依赖了新版本的dll,你如果重新用xp下的编译器进行编译就可以

mruby可以试一下自己编译

L-codes 回复

还不如装Linux,搞个Cluster出来

mizuhashi 回复

哦没看到你已经在编译了,如果编译出问题我也不知道怎么弄了,试多几个编译器吧。。其实1.9语法对2.0变化不大,也就少了个keyword arguments,建议别折腾了

mizuhashi 回复

是好折腾。。。能编译出一个win2k3能跑的ruby.exe应该就问题不大了

nouse 回复

😅 服务器不是自己的前提下。。。动作要小

sevk 回复

mruby写起来会不会跟cruby的差很大?而且好像也要编译,cruby本身就支持win2k3,我也是遇到编译问题。。。

装个旧版本的 Virtualbox,再在里面跑 Linux(逃

9102年了

L-codes 回复

你是有百万年薪吗?这已经接近Oracle的Hell Job了 https://news.ycombinator.com/item?id=18442941

L-codes 回复

可以放弃,如果公司让我用windows电脑开发ruby 的话我肯定会走,或者说压根也不会进去(我都会问公司是用什么做开发),更别提服务器了,不过现实中各有考量了😎

winxp/server 2k3跑ruby2.x的一个简单粗暴的修改就是把导入表里面的这个名字改了,看改成localtime64_s还是mktime64_s还是_gmtime32_s还是啥的。 现在我手上没有XP的电脑了,之前改过一个时区也不一样。

最简单粗暴的改法就是用二进制编辑器打开msvcrt-ruby200.dll找_gmtime64_s\0,记得备份之前的。记得改过之后的函数名后面有一个\0. win2k3应该可以试试,最好是打开msvcrt.dll确认一下(exescope)

nouse 回复

😂 没有百万年薪,这可能就是为公司开发和自己玩的差距吧

kevinyu 回复

不是公司要求我用windows开发ruby。。。我是要在拿到权限的主机中进一步的扩展内网,有一群人是需要在各种系统版本不定,环境不定的服务器上开发工具的,那群人的工作叫做——渗透测试

RGSS3 回复

😀 谢谢啊 不过修改dll文件的话 影响不太好

L-codes 关闭了讨论 01月25日 13:12
L-codes 重新开启了讨论 01月25日 13:12

😬 感谢各位的回答~ 后面考虑到ocra的打包运行前还要解压,放弃了ruby打包运行的想法,因此不需要解决win2k3运行ruby,改用golang实现。。。

golang也不行啊 https://github.com/golang/go/wiki/Windows

Distributions Architectures Initial support version Final support version

Windows XP, Windows Server 2003 amd64, 386 Go 1 * Go 1.10.8

nouse 回复

这样。。。谢谢提醒啊 那用golang <=1.10.8 就好了吧。。。

2003的系统就老老实实用2003年前后的软件。

新软件不会去支持不支持的系统,系统也不会再更新以支持更新的软件。

不支持之所以叫「不支持」,是有原因的,因为它不被支持了。你一定要尝试的话,可以试试看Ruby 1.8.7。

msg7086 回复

但是ruby 1.8.7很多gem都不支持了。。。

L-codes 关闭了讨论 01月26日 18:45
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册