我正在写一个红宝石脚本来引导一台新的macbook电脑。我通过自制软件安装了chruby和ruby-install。如果我从命令行调用chruby,它就能工作。
$ chruby
* ruby-2.4.1但如果我用这样的红宝石剧本来称呼它。
def failing_function
`chruby`
end
failing_function我知道这个错误
No such file or directory - chruby (Errno::ENOENT)作为一个测试,我尝试了这个
def successful_function
`ruby-install`
end
successful_function我在脚本中获得与命令行相同的ruby-install输出。
有人知道我做错了什么吗?
发布于 2018-10-04 21:24:49
深入研究后,发现chruby不是一个合适的二进制文件,而是一个通过调用source /usr/local/share/chruby/chruby.sh添加到环境中的bash函数。通过在ruby控制台中运行echo $SHELL,我运行了一个快速测试,它确实显示它使用的是zsh,所以不确定为什么没有加载完整的配置。在任何情况下,我都是这样做的
def successful_function
`source /usr/local/share/chruby/chruby.sh && chruby`
end
successful_functionhttps://stackoverflow.com/questions/52654203
复制相似问题