如何使asdf和rvm共存

时间:2019-03-02 16:30:26

标签: ruby-on-rails ruby rvm asdf

是否可以使asdfrvm共存?如果是这样,您如何设置它?我做了一个测试项目来尝试asdf,但似乎正在影响由rvm管理的另一个现有项目。当我运行rails时,我会得到:

asdf: No version set for command ruby
you might want to add one of the following in your .tool-versions file:

ruby 2.6.1

2 个答案:

答案 0 :(得分:0)

asdf中安装macOS时遇到了相同的问题。我可以通过创建.tool-versions文件并添加ruby版本条目来解决该问题。您可以通过在终端中运行以下命令来完成此操作。

$ echo 'ruby 2.6.1' >> .tool-versions

更多信息可以在此blog post

中找到

答案 1 :(得分:0)

这是我当前使用的hack。运行use-rvmuse-asdf会取消对~/.bash_profile中相应行的注释,并注释掉不需要的行。

# RVM
# source $HOME/.rvm/scripts/rvm

# ASDF
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash

# Add Visual Studio Code (code)
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"

use-rvm () {
  sed -i "" 's|^# source $HOME/.rvm/scripts/rvm|source $HOME/.rvm/scripts/rvm|' ~/.bash_profile
  sed -i "" 's|^. $HOME/.asdf/asdf.sh|# . $HOME/.asdf/asdf.sh|' ~/.bash_profile
  bash --login
}

use-asdf () {
  sed -i "" 's|^source $HOME/.rvm/scripts/rvm|# source $HOME/.rvm/scripts/rvm|' ~/.bash_profile
  sed -i "" 's|^# . $HOME/.asdf/asdf.sh|. $HOME/.asdf/asdf.sh|' ~/.bash_profile
  bash --login
}

这是gist