#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
}
И вот в чем суть