我试图在我的系统上设置webhooks,通过运行bash脚本自动在我的机器上做一些ruby的事情.问题是手动运行脚本时使用的ruby与使用hook运行的ruby不同.

下面是一个打印ruby值的bash脚本(test-ruby.sh):

#!/bin/sh
echo 'Tetsing...'
ruby -v;
which ruby;
bundle -v;
which bundle;

Below is the output if I run it via sh test-ruby.sh enter image description here

Below is the output from triggering same script via hooks enter image description here

Caveats:

  • Ubuntu版本是22.
  • Ruby是通过RVM安装的.

推荐答案

#1文件的顶部应该是

#!/bin/bash

#2强制加载脚本顶部的RVM环境

[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm" # Load RVM into a shell session as a function

Ruby-on-rails相关问答推荐

如何在_serialize之前执行代码?""或者如何在序列化属性之前对属性进行清理?

如何从 gem 覆盖 JSONAPI.configure

线程如何在 Web 应用程序中工作?

ActiveRecord 回调列表

rails 3 - link_to 销毁不工作

如何在两个日期之间生成随机日期和时间?

基于 2 列定义唯一主键

将 cookie 会话存储添加回 Rails API 应用程序

Rails 3 中的动态错误页面

机械师 vs FactoryGirl - 优点和缺点

通过字符串获取 ActiveRecord 对象的属性

使用 AJAX 向 Rails 发送 Authenticity Token 的正确方法

使用 Rails 时,在 Ruby 中处理常量的最佳方法是什么?

我如何在具有活动记录的 Rails 中使用两个不同的数据库?

如何在 RSpec 中包含 Rails 助手

Rails:带参数的 URL/路径

has_many :通过 class_name 和 foreign_key

如何一次显示一条 Ruby on Rails 表单验证错误消息?

我的 JavaScript 模式/实践很糟糕.我应该go 哪里寻求帮助?

如何删除特殊字符?