Запустите команду su в Vagrant

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

0
09.01.2020, 15:19
1 ответ

Вероятно, проблема в том, что команда nvmзадается из файла .bashrcпользователя root. При запуске su userсреда пользователя не будет использоваться, за исключением HOMEи SHELL, а также USERи LOGNAMEдля пользователей, не являющихся root-пользователями -.

Обычно вы должны использовать флаг --loginдля suдля использования среды пользователя (или просто -для краткости ). Однако этого недостаточно, если вы хотите получить файл .bashrc, так как .bashrcбудет использоваться только для интерактивных оболочек.

Я бы предложил попробовать переместить код nvm из /root/.bashrcв /root/.bash_profileи запустить команду как vagrant ssh -c "cd /opt/path && sudo su --login -c \"nvm use 10.16.0\"". Поэтому все, что nvm добавил к .bashrc, например.:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

просто перейдите к/root/.bash_profile

В качестве примечания: я не думаю, что лучше всего устанавливать nvm для пользователя root. Было бы намного безопаснее установить его для vagrant.

1
28.01.2020, 02:38

Теги

Похожие вопросы