diff --git a/src/Composer/Installer/LibraryInstaller.php b/src/Composer/Installer/LibraryInstaller.php index c75ebad95..0da923654 100644 --- a/src/Composer/Installer/LibraryInstaller.php +++ b/src/Composer/Installer/LibraryInstaller.php @@ -168,14 +168,17 @@ class LibraryInstaller implements InstallerInterface } file_put_contents($link, $this->generateWindowsProxyCode($bin, $link)); } else { + $cwd = getcwd(); try { // under linux symlinks are not always supported for example // when using it in smbfs mounted folder - symlink($bin, $link); + $relativeBin = $this->filesystem->findShortestPath($link, $bin); + chdir(dirname($link)); + symlink($relativeBin, $link); } catch (\ErrorException $e) { file_put_contents($link, $this->generateUnixyProxyCode($bin, $link)); } - + chdir($cwd); } chmod($link, 0777 & ~umask()); }