Eu instalei uma versão mais recente do devtoolset (1.1) e fiquei imaginando como iria defini-los permanentemente como padrão. Agora, quando eu ssh no meu servidor executando o CentOS, eu tenho que executar este comandoscl enable devtoolset-1.1 bash
Tentei adicioná-lo ao ~ / .bashrc e simplesmente colá-lo na última linha, sem êxito.
/opt/rh/devtoolset-7/enable
Uma alternativa de
source /opt/rh/devtoolset-4/enable
éO script shell acima
scl_source
é mais elegante do que usar um caminho codificado (pode ser diferente em outra máquina). No entanto,scl_source
faz menos porque/opt/rh/devtoolset-4/enable
usosscl_source
e outras coisas.Para usar,
scl_source
talvez seja necessário atualizar o pacotescl-utils
Copiar e colar rapidamente
Código fonte para pessoas curiosas
Um exemplo de
scl_source
código fonte:https://gist.github.com/bkabrda/6435016
O
scl_source
instalado no meu Red Hat 7.1fonte
O problema é que
scl enable devtoolset-1.1 bash
cria um novo shell bash. Então, quando você o coloca no seu .bashrc, ele cria um novo shell ... que carrega o seu .bashrc, que é executadoscl enable devtoolset-1.1 bash
, cria um novo shell, que carrega o seu .bashrc ... Forkbomb!Você provavelmente quer algo assim no seu .bashrc:
ou
exit
duas vezes.fonte
scl enable
.scl enable
toda vez que abro uma nova sessão ssh. Peço desculpas por essas perguntas noobish, mas não sei como definir a versão mais recente como padrão. Existe uma variável de ambiente que eu preciso exportar no meu perfil do bash?sudo apt-get install gcc
. No CentOS, isso é yum, por exemplosudo yum install gcc
.sudo yum update && sudo yum install gcc
e verifiquegcc --version
. Se não for 4.7, você provavelmente precisará usar o devtoolset. Se você não deseja executá-lo no SCL, pode desinstalar o gcc nativosudo yum remove gcc
e adicionar o diretório devtoolset ao seu caminho, ou seja, colocarexport PATH=$PATH:/opt/centos/devtoolset-1.1/root/usr/bin
no seu .bashrc. Isso permitirá que você digitegcc
oug++
obtenha o devtoolset gcc4.7.Uma maneira alternativa de localizar o script mencionado em outras respostas é deixar seu gerente de pacotes lhe dizer onde ele mora.
É isso que corremos para extrair as ferramentas dotnet em nossas máquinas vagantes RHEL / CentOS.
source $(rpm -ql rh-dotnet20-runtime|grep -E /enable$)
fonte