web-dev-qa-db-ja.com

Vagrantプロビジョニングで「ln」エラーを無視する

Vagrantfileでシェルスクリプトを使用して、Node.jsのシンボリックリンクを作成しています(Ubuntu VM内)。

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

初めてvagrant upを呼び出すと正常に機能しますが、その後vagrant up --provisionを呼び出すと(つまり、シンボリックリンクがすでに存在する場合)、次のエラーが発生します。

==> 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.

Vagrantにlnによって発生したエラーを無視させるにはどうすればよいですか?出力を/dev/nullにリダイレクトしようとしましたが、同じエラーが発生します。

ln -s /usr/bin/nodejs /usr/bin/node 2>/dev/null || true
2
ChristianK

-fパラメーターを使用できます。

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

ln --Linuxコマンド を参照してください。

2
Cornelius