2

从事这个项目:https ://github.com/cucumber/bool

有一个 makefile 来构造各种项目,我想使用 RVM 能够在 ruby​​ 目录中切换 ruby​​ 目录中的东西,但是,当我给出 makefile 命令来切换 rubies 时,我得到了一个讨厌的错误

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.
Please visit https://rvm.io/integration/gnome-terminal/ for a example.

当然,如果我rvm use 1.9.3在命令行上发出它就可以正常工作,所以这是其他问题的症状,但我不确定是什么。

4

2 回答 2

4

当您从 cron(或 Makefile,我希望)调用 RVM 时,设置正确的环境很重要。Scout 团队有一篇很棒的博客文章解释了这一点:

http://blog.scoutapp.com/articles/2010/09/07/rvm-and-cron-in-production

重要的部分是确保您拥有完整的登录 shell,以便您可以访问 RVM。

/bin/bash -l -c 'the_command_inside_makefile"
于 2013-02-03T18:44:17.573 回答
0

这似乎对RVM 包装脚本很有用,它可以让您生成一个 shell 脚本,该脚本将给定的 RVM ruby​​ 实例加载到该环境中,而无需使用正常的交互式 RVM 设置。

例如:

rvm wrapper 1.9.3@bool ruby bool

... 将创建一个名为“bool”的包装脚本,并选择给定的 Ruby。

于 2013-02-03T18:36:31.100 回答