gpt4 book ai didi

ruby - 使用 child_process.exec 从 NodeJS 调用 Ruby 时如何设置 Ruby 版本

转载 作者:太空宇宙 更新时间:2023-11-03 23:43:23 25 4
gpt4 key购买 nike

我需要从 node.js 应用程序中运行 ruby​​ 脚本。该脚本需要 Ruby 2.0,但当我尝试运行该脚本时,它一直运行 1.8 并且失败。我已经尝试过

child_process.exec("rvm use 2.0.0;ruby file.rb", {cwd: 'directory_name'}, function(err, stdout){
console.log(stdout)
});

但它不起作用。有什么想法吗?

最佳答案

在执行 ruby​​ 之前切换 gemset/ruby 版本的另一种方法是生成一个为您完成这项工作的 RVM 包装器。

rvm use 2.0.0
rvm wrapper 2.0.0@<gemset> <prefix> # gesmset and prefix are optional but I'd use them for clarification

运行此命令会在 ~/.rvm/bin 中生成一个 ruby​​ stub ,或者,如果您已在系统范围内安装了 RVM,则会在 /usr/local/rvm/bin 中生成一个 ruby​​ stub 。该 stub 在执行时会自动切换到指定的 ruby​​-version/gemset。

您的 Node 脚本可能如下所示:

child_process.exec("~/.rvm/bin/<prefix>_ruby file.rb", {cwd: 'directory_name'}, function(err, stdout){
console.log(stdout)
});

关于ruby - 使用 child_process.exec 从 NodeJS 调用 Ruby 时如何设置 Ruby 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18797299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com