我正在使用源/usr/local/opt/chruby/share/chruby/auto.sh自动将ruby更改为.ruby-version中的版本,但不幸的是,这仅适用于cd。
当我在我的mac终端中打开一个新选项卡时,它会打开到我在上一个选项卡中所在的目录,但是自动更改不起作用。我的解决方案是cd ..
和cd
回来,这会触发更改。显然,这很烦人。
我尝试在新标签中手动调用函数chruby_auto
,但这没有效果。
在这种情况下,有人可以提供如何更新我的ruby版本的解决方案吗?我更喜欢自动解决方案,但是会接受命令来调用。
答案 0 :(得分:1)
实际上没关系,我在.bashrc中按照这些调用的顺序追溯到一个问题
source /usr/local/opt/chruby/share/chruby/chruby.sh
source /usr/local/opt/chruby/share/chruby/auto.sh
chruby ruby-2.3.0
我发现你必须在默认线后调用自动线。请注意,默认行也必须在chruby.sh行之后。
source /usr/local/opt/chruby/share/chruby/chruby.sh
chruby ruby-2.3.0 # default order important, if comes after auto.sh, will undo the auto change
source /usr/local/opt/chruby/share/chruby/auto.sh
所以我只想把这个答案留给后人我猜
答案 1 :(得分:0)
除非我误解了你的问题,否则听起来你想要一个~/.ruby-version
文件(与项目中的.ruby-version
文件不同),这样你就可以确定你想要的Ruby版本在打开新的终端窗口时默认使用(如果项目.ruby-version
文件存在,则该值将被项目~/.bashrc
覆盖)。例如,在我的if [[ -e /usr/local/share/chruby ]]; then
# Load chruby
source /usr/local/share/chruby/chruby.sh
# Allow auto-switching of Ruby version when
# directory has a .ruby-version file
source /usr/local/share/chruby/auto.sh
fi
中,我有:
~/.ruby-version
我的2.3.1
只包含chruby
,无需在~/.bashrc
中明确调用<?php query_posts(array('post_type'=>'my_product','posts_per_page'=>1,'orderby'=>'rand'));
if(have_posts()): while(have_posts()): the_post(); ?>
<div class="media">
<div class="media-left">
<a href="#" class="post-thumbnail">
<?php if (has_post_thumbnail()) {
the_post_thumbnail();
} else { ?>
<img class="media-object new-pro-slide-img" src="<?php bloginfo('template_url');?>/images/default.jpg" class="img-responsive" alt="..." style="max-width: 200px; max-height: 150px;">
<?php }?>
</a>
</div>
<div class="media-body media-body-white media-body-white">
<h4 class="media-heading"><?php the_title();?></h4>
<p><?php the_excerpt(); ?>
</p>
<a href="<?php the_permalink(); ?>"><b>بیشتر بدانید</b> <i class="fa fa-chevron-left"></i></a>
</div>
</div>
<?php endwhile;
。有关详细信息,请参阅Default Ruby section of chruby
's README file。