云服务 给 rubyinstaller.org 镜像成本大概在多少?

ccmywish · 2021年01月19日 · 最后由 ccmywish 回复于 2021年01月21日 · 723 次阅读

rubyinstaller.cn

在 Windows 上使用 Ruby 现有的主流方法是安装 RubyInstaller 或使用 WSL. 其中前者是许多初学者入门的第一站,但是第一站就能让人望而却步。

RubyInstaller 的所有下载链接都在 Github 上,一个安装包大概在 130MB 左右,我这里 200M 宽带下载速度大概是 5KB/s ,也就意味着要下 9 个小时。

我想给 https://rubyinstaller.org 做一个不完全的镜像 (只提供部分下载链接),不知道有没有什么方式可以降低成本并使其可控。

我暂时上线了这个 https://rubyinstaller.cn , 用 Github Pages 部署,下载链接移到了腾讯云 COS 上。


是否值得给 RubyInstaller 做镜像

一. 翻墙而非镜像

翻墙不就行了 这种类似的话只是从个人的狭小角度出发,而做镜像的目的恰恰就是为了让一个潜在的广大群体受益。我们好像都在盼望着一个时间点,等到 Ruby 再次飞黄腾达了,自然会有很多人支持它,到那时便可坐享其成。不,我觉得社区应该主动出击,提供更方便的学习路径。只有人们先开始了解并上手使用它,才能谈 Ruby 迎来第二春的可能。

二. 没有厂商支持

成本问题是做镜像的最大问题。像 NodeJS 国内镜像背靠淘宝等,某些镜像的成本完全不是问题。然而并非所有镜像都只能依靠强大的财团,学校等才能运行起来,像 Emacs China ELPA 这种完全靠社区支持起来的镜像就是一个例证。

三. WSL 和 RubyInstaller

  • 前者在虚拟机中运行,后者在本机中运行,它们的比较最终要看用途,比如在本机运行的 Ruby 可以做一些在 Windows 上的日常管理工作. WSL 也很方便
  • 不过 WSL 本身会额外增加一些上手成本。


最后

即使是徒劳,我也会把这个坚持做下去。最后就算是用百度云网盘代替。。。我也会把它搞下去,毕竟我自己也是 RubyInstaller 的使用者,方便自己的时候也给予其他需要的人一些帮助。

rubyinstaller.cn 代码

@huacnlee 咱们 RubyChina 要不要做这个?

@ccmywish 可以和清华镜像提一下,看他们愿意不

我搞了没人维护,我没这类需求,这次搞了,后期也难以保持持续的维护。

如果谁可以写一个 GitHub Actions 自动同步,我在 Ruby China 的 GitHub 组织上可以开一个项目,配置好 UpYun 的 Key, Secret,这样可以完整利用 UpYun 的 Bucket 来做静态的网站。

主要原因是大部分 ruby 玩家都是 mac 系统,需求不大,自然没人干。

其实 WSL2 挺好的

huacnlee 回复

不太清楚你说的这个流程具体是什么样的,我想了下大概可以这样:

  1. 我的一台服务器每天爬取 github rubyinstaller release
  2. 一旦获得新 tag, 通过发送邮件等其他方式提醒我手动从上游 rubyinstaller.org-website 获取信息,更新到 rubyinstaller.cn-website 里
  3. rubyinstaller.cn-website 一旦 push 上去,触发 action 去 release page 上下载rubyinstaller-devkit.exe并保存在 UpYun 的 Bucket 中

我没这方面的经验,所以我的疑惑是,"下载并存放到 UpYun 中"这个操作在 github action 中可行吗?

rocLv 回复

已经提出 tuna issue 1138

不太清楚他们同步 Github release page 的方法是什么,我怀疑可能也是定时爬一下那个页面有没有新 tag,这个方法肯定没有 rsync 那样方便管理。所以我又问了 rubyinstaller 他们有没有其他同步方法 rubyinstaller2 issue 209

pynix 回复

我觉得给 Windows 支持足够多时,用户数量会比使用类 Unix 系统的要多。

很多人包括我是因为在 Windows 上搞 Ruby 入门太吃力才去 Linux 上折腾的。我觉得给新手减少阻碍,让他们可以直接上手才能让他们立刻体会到 Ruby 带来的幸福感。

FrankFang 回复

我不太习惯用 WSL2,毕竟是隔了个虚拟机,文件共享等也应该挺麻烦的 (我没试过,但我猜不太好使)。等到 WSL2 可以提供 host 和 guest 的完美交互,我才会在 Windows 上抛弃 RubyInstaller

刚才又想了下 RubyInstaller 和 cygwin, MinGW, MSYS2 这些的处理方式都差不多,如果后面三个社区都不继续维护开发了,大家都使用 WSL 了,RubyInstaller 自己也会停止开发。那我们现在给 RubyInstaller 做镜像也算是起了过渡时期的作用。

三、WSL 和 RubyInstaller

前者在虚拟机中运行,后者在本机中运行,它们的比较最终要看用途,比如在本机运行的 Ruby 可以做一些在 Windows 上的日常管理工作。

这里我有个问题,WSL 可以运行 windows 的 exe,并且文件共享。WSL 里的 ruby,应该也可以做 Windows 上的日常管理工作。

13 楼 已删除
tinyfeng 回复

WSL 可以运行 exe 吗?这点我不太清楚

另外你说的意思应该是从虚拟机内部访问宿主机文件系统,这个好像一直都是可以做到的。因而做一些日常管理工作理论上没问题,我没试过,所以抱歉我的结论可能有一些草率。你若有兴趣,可以验证一下,我们再接着讨论。

我还是想说一点,管理本机的任务还要开一个 WSL 加一个另外的终端,有点太费劲了。 。

ccmywish 回复

wsl 是可以运行 windows 可执行程序的,比如 ipconfig.exe、qq.exe,甚至 windows 的程序可以结合 linux 的管道以及其他命令来使用。

另外也不麻烦,推荐装一个 cmder,zsh,拥有比较良好的终端界面。通过设置以后,打开终端可以直接进入 wsl。

tinyfeng 回复

我刚才试了下的确可以使用 exe

刚才用 VSCode 也可以打开 WSL 内部的文件,确实很方便。😀

需要 登录 后方可回复, 如果你还没有账号请 注册新账号