编译第一步是 ./configure, 检测环境并产生 makefile, 这时就决定好了用哪个编译器, 如果你一开始编译出错了, 然后换了编译器, 应该把源代码目录删掉再继续.
选择 GCC 最简单的方式就是 configure 之前
export CC=`your path to gcc`
替换源直接打开文件编辑 ~/.rvm/config/db 替换 ftp.ruby-lang.org/pub/ 成 ruby.taobao.org/mirrors/ 就好了嘛...
最大的障碍是 Mac 更新很快很频繁, ruby 相关的开发也很活跃, 所以大部分教程都会很快过时, 然后无头苍蝇般每个都弄一遍结果就是像你这样产生奇怪的问题, 按照 rvm requirements 去做是不会出问题的
对于程序员来,一般都会掌握许多编程工具来提高自己的工作效率的,但是如果有一款编程工具能够适用所有编程语言的话,我觉得应该就是GraalVM了,今天郑州北大青鸟http://www.kmbdqn.cn/就一起来了解一下GraalVM的特点。
1.高性能JavaGraalVM中的Graal得名于Graal编译器。
Graal是一种“万能”编译器,也就是,虽然它是单一的实现,却可以用于很多用途。
例如,我们可以使用Graal进行预编译(ahead-of-time)和即时编译(just-in-time),也可用于编译多种编程语言。
2.占用内存小、启动速度快的JavaJava对于长时间运行的进程来是相当强大的,但短时间运行的进程可能会因较长的启动时间和较高的内存占用而饱受其苦。
3.组合JavaScript、Java、Ruby和R语言除了Java,GraalVM还包含了JavaScript、Ruby、R语言和Python的实现。
它们都是使用一个叫作Truffle的语言实现框架开发的,Truffle让实现简单且高性能的语言解释器成为可能。
在使用Truffle开发语言解释器时,会自动使用Graal作为JIT编译器。
因此,Graal不仅是Java的JIT编译器和预编译器,也可以是JavaScript、Ruby、R语言和Python的JIT编译器。
4.在JVM上运行本地语言GraalVM也支持C语言,GraalVM可以像运行JavaScript和Ruby之类的语言一样运行C代码。
实际上,GraalVM通过运行LLVM位码的方式来支持C语言,而不是直接运行C代码。
也就是,我们可以将现有工具与C语言一起使用,还可以使用其他可输出LLVM的语言,例如C++、Fortran和未来可能出现的其他语言。
为了简化演示,我使用了由StephenMcCamant维护的gzip的单文件版本。
为简单起见,它只是将gzip源代码和autoconf配置连成一个单独的文件。
我还需要修改一些东西才能让它在macOS上运行起来,但不能在GraalVM上运行。
5.适用于所有编程语言的工具如果你使用Java编程,可能已经习惯了使用那些高质量的工具,比如IDE、调试器和分析器,但并非所有的编程语言都有这么好用的工具。
不过如果你是在GraalVM中使用某种语言,就可以获得这样的工具。
6.扩展基于JVM的应用程序除了可用作独立语言实现和用于多语言编程,这些语言和工具也可以嵌入到Java应用程序中。
新的org.graalvm.polyglotAPI可用于加载和运行其他语言的代码。