Windows 上的 RubyInstaller 也提供了 7z
压缩的“绿色版”,不用安装,直接打开就可以用。和你说的 wget一下,解压,直接用
的流程是一样的。
在 https://rubyinstaller.org/downloads/ Other Useful Downloads
这里。
其实 rbenv for Windows 每次使用 rbenv install x.x
下载的也正是这种 7zip
文件。
类 Unix 系统上不知道,似乎没有。
问题没有看懂,我理解为:
如果不需要用带有 C 扩展的 Ruby,在 Windows 上可以下载 without-devkit
版本的 RubyInstaller,大小仅有 14MB,不包含你题中所说的构建工具。
另外:rbenv for Windows 也是是用这个 without-devkit
的版本来下载最新的 Ruby,所有 Ruby 共用一套工具链。可能满足你所说的“下载即用” (一个命令即用)。
太棒的想法了
当然是直接用 rbenv-cn
啦
哈哈,你不知道 Ruby 社区近 5 年来的流行语吗?
Ruby dies every year
I hate Java with a passion!
显然,我们社区存在三类人,对 Ruby 的热爱程度依次递减:
Ruby
到极致,会对其他语言吃醋,想把其他语言各种好东西搬过来Ruby
和其他语言同类讨论,什么时候合适用什么作为要吃饭的程序员来说,更多的人倾向于成长为 Type 3
. 各种语言八仙过海各有所长,都有各自合适的使用场景。作为一个终生学习者来说,可以各取所长,都学一点。Ruby 也从很多其他语言比如Eiffel
、C++
借鉴了相当多好东西。
然而,整个社区的成长,则需要大量的 Type 1
的人站出来,比如 DHH
和 楼主。就一个社区的发展来说,必须坚定的反对竞争语言,除非万不得已坚决不用 Python,Java 等。模棱两可的态度反而会使得社区的力量变弱,演变成
Ruby 现在还不够给力,用 Python,Java 不就好了
如果这种折衷主义存在,Ruby
就不会诞生,当时 Matz
就会接着忍受使用 Perl
就好了,想想看 1993-1995 年经济泡沫时期的日本,Matz
在当时不能说窘迫,但肯定是不富有的生活下创造了 Ruby
。到底是迫不得已做 Type 3
,还是坚定自己的信念做 Type 1
?Matz
做出了自己的回答。
再一个例子:微软就算现在再怎么支持 Java,也只是无可奈何。微软要把 C#
和 F#
打造成最好的语言,为了保持 C#
的生态,坚决不可能把机会让给 Go
和 Java
.
另外,如果有人创业搞 C/C++
和 CRuby
,mruby
的,不是 Web 领域的,请联系我,我们一起做一些把 Ruby 的使用场景拓宽的事!
再说一句,为什么语言月经贴要么没人回复(大家已经喷的懒得再喷了),要么又激起激烈的讨论。就是因为三类人永远存在,比例有所不同,站在不同的利益出发点以不同的视角审视他人。Type 3
总是居高临下的喷 Type 1
,三类人不必争得面红脖子粗,最重要的是 Type 1
的人能集合在一起做一些事情。
感谢反馈。
你刷新下试试,中间那个“%20”是前几天提交后的 bug,已经被修复了。正确的链接是:
https://rubyinstaller.cn/download/
我这边访问没有啥问题,导航栏的链接跳转的也是正确的。
5 年后,Shopify 的 CLI 工具也转到 NodeJS 了。偶然看到这个帖子,觉得有些悲哀,似乎 Ruby 的命运越来越只停留在后端了。
补充:
Gem::ConfigFile::SYSTEM_WIDE_CONFIG_FILE
今天刚好发现了这个变量的存在,在 Ubuntu 上,全局的 gem 配置文件也在 /etc/gemrc
在 Windows 种,这个配置文件的位置在 C:/ProgramData/gemrc
文件系统都有 inode,都会有上限
你把最后一行删了试试
你再看一下 /etc/gemrc
, 这个是全局的 Gem 配置,问题应该在这里。全局的会把你自己设置的覆盖掉,所以你的不起作用。
对了,还有可能在 /etc/gemrc
你似乎是 root,看下 /root/.gemrc
如果这也没有,就运行 locate .gemrc
来找找
如果还是没有,就看下你的环境变量有没有设置 "--install-dir=/opt/rh/rh-ruby30/root/usr/local/share/gems --bindir /opt/rh/rh-ruby30/root/usr/local/bin"
如果设置了,把它删了试试
在 Linux 上安装 Ruby,不需要用系统的包,或者自己下载解压那么麻烦。
请直接使用 rbenv
,如果您未接入外网,可以直接使用以下工具,省心省力,避免社区每个人都重复解决这个问题。
你看下你的 ~/.gemrc
这个文件,把这个
"gem" => "--install-dir=/opt/rh/rh-ruby30/root/usr/local/share/gems --bindir /opt/rh/rh-ruby30/root/usr/local/bin"
删了
支持
求教,定理证明器是干什么用的?有没有现实中应用的例子?好像很多学术语言都搞成什么 prover 了。
定理证明器能自动证明勾股定理吗。。。?纯属好奇,对这些东西没有了解。
已合并你的 fix,感谢
require 'benchmark'
n = 1_000_000_000
a = []
Benchmark.bm do |b|
b.report {
n.times do
a.empty?
end
}
b.report {
n.times do
a.size == 0
end
}
end
user system total real
40.484000 0.000000 40.484000 ( 40.483034)
45.938000 0.000000 45.938000 ( 45.939939)
empty?
快一丢丢,可能是因为 @pynix 给出的empty?
代码直接用的 C 语言一步就出来了。而 a.size == 0
要执行两个步骤,先调用 size
方法,然后有一个额外的 ==
操作,导致它略微慢一点。
哈哈,感谢,just for fun
这个 ASCII 图是用什么画的啊?
公开课吗?想听
我不知道你说的是哪种情况
一。有 lib 和 share 的,但是不是必须存在。
这种情况,有可能是作者把源代码放进去了,lib 和 share 可能不是必要的。中间会有个步骤,解压缩后,如果多于一个文件,会提示你自己选里面的某个二进制来放到 bin 中。
二。lib 和 share 起关键作用,必须存在的。
这暂时做不到。
因为我目前解决的主要的问题就是 单个二进制。或者有 deb,rpm 的情况。比如 rbspy
,它就是简单的把它打包了成了 tar.gz,只要解压,里面唯一的那个就是要被放进 bin 里的。
用这个 https://gitee.com/RubyKids/rbenv-cn
gem install rbenv-cn
rbenv-cn install
开始使用
rbenv cninstall 3.1.2
VPN 访问国内网站,一般不会经过代理的似乎。
感谢楼主分享
找你学长,或者看 opengauss 的文档,看哪些接口被修改了,就直接在 Gem 源码里找这些函数去修改。
另外,直接找你老师要现成的用 pg
跑不通的例子,debug 到里面看哪里有问题。先进 Ruby 部分,然后进 C 部分。
楼主加油,希望研究出来后,反馈给社区,教一下大家怎么实现的
更新:现在用户可以通过 RubyGems 安装
gem install rbenv-cn
这个《Rails 产品开发修炼手册》工程量大啊,以后有时间拜读一下