Ignorando erros 'ln' no provisionamento do Vagrant

2

Estou usando um script de shell no meu Vagrantfile para criar um symlink para o Node.js (em uma VM do Ubuntu):

ln -s /usr/bin/nodejs /usr/bin/node

Isso funciona bem quando eu chamo vagrant up pela primeira vez, mas quando eu chamo vagrant up --provision depois disso (ou seja, quando o link simbólico já existe), recebo o seguinte erro:

==> default: ln: 
==> default: failed to create symbolic link ‘/usr/bin/node’: File exists
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

Como posso fazer o Vagrant ignorar o erro gerado por ln ? Eu já tentei redirecionar sua saída para /dev/null , mas isso resulta no mesmo erro:

ln -s /usr/bin/nodejs /usr/bin/node 2>/dev/null || true
    
por ChristianK 15.11.2014 / 22:12

1 resposta

2

Você pode usar o parâmetro -f :

ln -s -f /usr/bin/nodejs /usr/bin/node

Veja ln - Comando Linux .

    
por 15.11.2014 / 22:16