我有一个rails 5 app。我试图寻找内存泄漏,它开辟了一堆蠕虫。其中一个蠕虫是rvm和deploy。我没有
rvm_ruby_string
设置项目中的任何位置。如果我转到项目目录,并执行
bundle exec ruby --version
或
ruby --version
都会导致
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin14]
然而,如果我这样做
cap staging deploy
你可以看到它以某种方式选择了错误的版本:
DEBUG [778e15cb] Running /usr/bin/env which passenger as deploy@xxxx
DEBUG [778e15cb] Command: /usr/bin/env which passenger
DEBUG [778e15cb] /usr/bin/passenger
DEBUG [778e15cb] Finished in 0.710 seconds with exit status 0 (successful).
DEBUG [0da5c891] Running [ -d ~/.rvm ] as xxx
DEBUG [0da5c891] Command: [ -d ~/.rvm ]
DEBUG [0da5c891] Finished in 0.101 seconds with exit status 0 (successful).
DEBUG [f2734c3e] Running ~/.rvm/bin/rvm version as
xxx
DEBUG [f2734c3e] Command: ~/.rvm/bin/rvm version
DEBUG [f2734c3e] rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski,
Wayne E.
Seguin [https://rvm.io/]
DEBUG [f2734c3e] Finished in 0.268 seconds with exit status 0 (successful).
rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin
[https://rvm.io/]
DEBUG [a2e3d82a] Running ~/.rvm/bin/rvm current as xx
DEBUG [a2e3d82a] Command: ~/.rvm/bin/rvm current
DEBUG [a2e3d82a] ruby-2.5.0
现在,如果我只是试图通过将以下内容复制并粘贴到命令行来模仿capistrano所说的内容:
~/.rvm/bin/rvm current
我得到了
ruby-2.3.1
所以,我很难过。 Capistrano从哪里拉出rvm var?
答案 0 :(得分:0)
您可能在运行cap staging deploy
时以不同的用户身份运行ruby --version
。
根据capistrano输出,您正在使用deploy
用户进行部署。如果是这种情况,则需要将ruby 2.3.1安装为deploy
用户,并将2.3.1设置为"默认和当前"。
您可以测试我的ruby --version
运行deploy
用户和您第一次运行它的其他用户。