gpt4 book ai didi

ruby-on-rails - ruby 版本的自动切换非交互式 shell

转载 作者:行者123 更新时间:2023-12-04 19:21:53 24 4
gpt4 key购买 nike

背景

操作系统:Ubuntu 12.04
RVM 版本:1.18.16(稳定)
默认 ruby : ruby 1.9.3-p385(通过rvm)

确认 RVM 工作正常且 .rvmrc 受信任

$ bash -lc 'cd /home/client1/websites/site1; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

$ bash -lc 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02

$ bash -lc 'rvm rvmrc trusted /home/client1/websites/site2/.rvmrc'
The rvmrc at '/home/client1/websites/site2/.rvmrc' is currently trusted.

所需效果
$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2012.02

当前效果
$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

$ bash -c 'cd /home/client1/websites/site2; ruby -v' - client1
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]

尝试过的事情

放置: [[ -s /usr/local/rvm/scripts/rvm ]] && . /usr/local/rvm/scripts/rvm在以下文件中:
  • ~/.bashrc,
  • ~/.profile,
  • ~/.bash_profile,
  • /etc/bash.bashrc

  • 好吧,在文件的最顶部,在其他任何事情都可能导致问题之前。

    旁注:我尝试过使用 .ruby-version 方法,但它似乎也不起作用(感谢 irc 上的 mpapis)

    最佳答案

    一般来说 bash 需要以某种方式调用来处理各种 profile/rc 文件。尝试将 bash 执行为 bash -L -c "your command here"相反,它会激活登录模式以正确解析所有必要的启动文件。

    编辑 : 如果不需要登录 shell,则必须强制交互模式自动获取 ~/.bashrc .这是因为 -c防止一个普通的交互式控制台被实例化。这可以通过 bash -i -c "command" 来完成.

    关于ruby-on-rails - ruby 版本的自动切换非交互式 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259819/

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