Я установил более новую версию devtoolset (1.1), и мне было интересно, как я могу навсегда установить их по умолчанию. Прямо сейчас, когда я захожу на свой сервер с ОС CentOS, мне нужно запустить эту командуscl enable devtoolset-1.1 bash
Я попытался добавить его в ~ / .bashrc и просто вставить в последнюю строку, но безуспешно.
/opt/rh/devtoolset-7/enable
Альтернативой
source /opt/rh/devtoolset-4/enable
являетсяПриведенный выше сценарий оболочки
scl_source
более элегантен, чем использование жестко заданного пути (может отличаться на другом компьютере). Однакоscl_source
делает меньше, потому что/opt/rh/devtoolset-4/enable
используетscl_source
и другие вещи.Для использования
scl_source
вам может потребоваться обновить пакетscl-utils
Быстрая копия-вставка
Исходный код для любопытных людей
Пример
scl_source
исходного кода:https://gist.github.com/bkabrda/6435016
scl_source
Установлен на моем Red Hat 7.1источник
Проблема в том, что
scl enable devtoolset-1.1 bash
создается новая оболочка bash. Поэтому, когда вы помещаете его в ваш .bashrc, он создает новую оболочку ... которая загружает ваш .bashrc, который запускаетсяscl enable devtoolset-1.1 bash
, который создает новую оболочку, которая загружает ваш .bashrc ... Forkbomb!Вы, вероятно, хотите что-то подобное в вашем .bashrc:
или
exit
дважды.источник
scl enable
этого.scl enable
каждый раз, когда открываю новый сеанс SSH. Я извиняюсь за эти нубистские вопросы, но я не уверен, как установить новую версию по умолчанию. Есть ли переменная окружения, которую мне нужно экспортировать в мой профиль bash?sudo apt-get install gcc
. На CentOS это ням, напримерsudo yum install gcc
.sudo yum update && sudo yum install gcc
и проверилgcc --version
. Если это не 4.7, то вам, вероятно, придется использовать devtoolset. Если вы не хотите запускать его в SCL, вы можете удалить нативный gcc с помощью,sudo yum remove gcc
а затем добавить каталог devtoolset в свой путь, т.е. поместитьexport PATH=$PATH:/opt/centos/devtoolset-1.1/root/usr/bin
в свой .bashrc. Это позволит вам набратьgcc
илиg++
получить devtoolset gcc4.7.Альтернативный способ найти сценарий, упомянутый в других ответах, - позволить вашему менеджеру пакетов сообщить вам, где он находится.
Это то, что мы используем, чтобы использовать инструменты dotnet на наших бродячих машинах RHEL / CentOS.
source $(rpm -ql rh-dotnet20-runtime|grep -E /enable$)
источник