如何将 ruby 打包类似于jdk在另一台相同架构的机器上面开箱即用

需求

目前工作中使用到了ruby作为java 项目的中转语言,但是部署ruby的时候由于环境的不同会出现安装依赖包失败的问题,如何找到一种开箱即用的方式类似于java 中的jdk内置jvm这种方式

解决

TruffleRuby 完美解决问题,TruffleRuby 是使用 Truffle 语言实现框架和 GraalVM 编译器在 GraalVM 上构建的 Ruby 编程语言的高性能实现。TruffleRuby 是 GraalVM 的一部分,GraalVM 是一个高性能多语言编程平台。

使用方法

1、找到对应机器的架构

oracle truffleruby

由于我使用的centos7,使用的是 truffleruby-23.1.1-linux-amd64.tar.gz

2、解压到指定目录,如果需要安装依赖进入 bin 目录下面 gem install 即可

3、移植

如果想要在另一台机器上面直接使用此台机器上面安装的依赖,将其打成完整的tar包,将该tar包复制过去解压即可

拓展

GraalVM 还有Python 的实现,同样可以实现可移植性的功能

相关推荐
程序员清风14 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme14 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better14 小时前
学会与虚拟机对话---ASM
java
开源之眼17 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31617 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027318 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋18 小时前
DecimalFormat 与 BigDecimal
java·后端
beata18 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家18 小时前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云18 小时前
SpringBoot 的自动配置原理
java