如何将 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 的实现,同样可以实现可移植性的功能

相关推荐
o丁二黄o8 小时前
【MyBatisPlus】MyBatisPlus介绍与使用
java
_MyFavorite_9 小时前
JAVA重点基础、进阶知识及易错点总结(14)字节流 & 字符流
java·开发语言·python
好家伙VCC9 小时前
**CQRS模式实战:用Go语言构建高并发读写分离架构**在现代分布式系统中,随着业务复杂度的提升和用户量的增长,传统的单数据库模型逐
java·数据库·python·架构·golang
fy121639 小时前
Java进阶——IO 流
java·开发语言·python
二妹的三爷9 小时前
Node.JS 版本管理工具 Fnm 安装及配置(Windows)
java
cngkqy9 小时前
NoClassDefFoundError: org/apache/poi/logging/PoiLogManager
java
l1o3v1e4ding9 小时前
Java网站项目集成GO-FLY开源在线客服系统功能,集成IM即时通信
java·golang·开源
m0_651593919 小时前
领域驱动设计(DDD)实战指南:如何正确构建复杂系统
java·软件工程·ddd
nbwenren9 小时前
linux 设置tomcat开机启动
java
Y40900110 小时前
【多线程】Thread 类
java·开发语言·jvm