composer-phphhvmhacklang

Why are there naming collisions in Composer's vendor folder? (between bin and hhvm)


I have been learning to use hacklang and hhvm and I have went about using composer and installing all the needed packages as

composer require hhvm/hsl hhvm/hhvm-autoload
composer require --dev hhvm/hhast hhvm/hacktest facebook/fbexpect

I have also setup the .hhconfig aswell as the hh_autoload.json and hhast-lint.json

However there is a naming collision between the Vendor/bin and Vendor/HHVM

Can anyone explain why this is happening or how to fix it?


Solution

  • This happens because composer copies vendor/vendor/package/bin/file to vendor/bin/file, causing symbols in vendor/vendor/package/bin/file to be defined twice. IT IS EXPECTED.

    to avoid naming issues, add the following to your .hhconfig :

    ignored_paths = [ "vendor/.+/tests/.+", "vendor/.+/bin/.+" ]