gpt4 book ai didi

ruby - RVM after_cd Hook

转载 作者:数据小太阳 更新时间:2023-10-29 07:32:52 24 4
gpt4 key购买 nike

我正在尝试使用 RVM hooks在我使用 Rails 应用程序 cd 进入目录后运行命令。

我的 ~/.rvm/hooks/after_cd 的内容是:

echo "Now using $rvm_ruby_string"

我的 ~/.rvm/hooks/after_use 的内容是:

echo "Now using $rvm_ruby_string"

当我执行 $rmv use 1.9.2 时,我看到了我的回声,但是当我 cd 进入我的应用程序的 rails 根目录时,我没有得到任何回声.

我使用的 after_cd 钩子(Hook)错了吗?

$rvm -v 说:

rvm 1.0.8 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]

最佳答案

首先您需要了解 rvm 如何覆盖系统的默认 cd 命令。

这是 answer很好地解释了这一点。

简而言之,rvm在.rvm/script/cd中定义了这样一个函数

cd(){
builtin cd $* #run system cd
source after_cd_hooks #run hook scripts
}

如果您查看此 cd() 的定义方式,您可以找到这一行。

__rvm_project_rvmrc && __rvm_after_cd ||真

__rvm_project_rvmrc 是检查.rvmrc 是否存在于您更改的目录中的函数。

因此只有当您的项目根目录中存在 .rvmrc 时,才会获取 Hook 脚本。

因此创建您的 .rvmrc 并再次尝试 cd。祝你好运!

> /path/to/app/root/.rvmrc
cd /path/to/app/root

我的 rvm 版本:

rvm -v

rvm 1.23.14 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

关于ruby - RVM after_cd Hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com