Как заставить asdf и rvm сосуществовать

#ruby-on-rails #ruby #rvm #asdf-vm

#ruby-on-rails #ruby #rvm #asdf-vm

Вопрос:

Возможно ли иметь asdf и rvm сосуществовать? Если да, то как вы это настраиваете? Я создал тестовый проект, чтобы попробовать 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
  

Ответ №1:

Я столкнулся с той же проблемой при установке asdf в macOS . Я смог решить эту проблему, создав файл .tool-versions и добавив запись версии ruby. Вы можете сделать то же самое, выполнив следующую команду в терминале.

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

более подробную информацию можно найти здесь, в этом сообщении в блоге

Ответ №2:

Этот взлом я использую в настоящее время. Запуск use-rvm или use-asdf раскомментирует соответствующую строку в my ~/.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
}
  

И вот в чем суть