从启动脚本运行时如何让 RVM 工作

Ski*_*ick 1 startup rvm

好的,从这个问题开始,我仍然无法正常工作。我这样做:

if [ "$(id -nu)" != 'your_user' ]; then
  exec sudo -Hu 'your_user' $0
fi
which ruby
cd /path/to/my/app
rake db:backup
Run Code Online (Sandbox Code Playgroud)

问题是,which ruby正在打印/usr/bin/ruby,但是当我在正常的 bash 会话中运行它时,我得到了/home/nick/.rvm/rubies/ruby-1.9.2-p136/bin/ruby,因为我使用的是 RVM。所以rake不起作用,因为它在错误的 Ruby 安装中工作。有任何想法吗?

Ski*_*ick 5

看起来弗洛里安在链接的问题上对此进行了排序

sudo -u 'user_name' -i
Run Code Online (Sandbox Code Playgroud)

“在登录 shell 中运行给定的命令,即您获得与在文本模式下登录相同的环境。”