magento-hackathon / magento-composer-installer

Composer installer for Magento modules
210 stars 156 forks source link

Uninstall behaviour makes this module unusable #43

Closed ayalon closed 10 years ago

ayalon commented 11 years ago

Hi

Uninstalling a composer module under Windows dows not remove the folder and symlinks. If you remove a module and later try to install it again, it does not work. All the symlinks are corrupt and you have to manually remove every symlink.

This is very annoying. Is it possible to remove al symlink a module created wen removing it?

cmuench commented 11 years ago

It's not only in Windows. I had the same problem for some days in my Linux Box.

bastianccm commented 11 years ago

On Mac everything works fine.

The PHP methods link() (for link deploystrategy) and symlink() (for symlink deploystrategy).

Symlink (default behaviour) is only available on Windows from Vista onwards, maybe this causes your problems. Have you tried the copy deploystrategy?

"extra":{
    "magento-root-dir": "htdocs/",
    "magento-deploystrategy": "copy",
    "magento-force": true
}
ayalon commented 11 years ago

Hi!

The copy strategy is not an option for me, because all changes of a file are overriden within the nex t deploy.

Flyingmana commented 11 years ago

could you explain which changes you do on module files?

Also we need to know which Version of Windows you are using.

ayalon commented 11 years ago

Hi!

Mayme you misunderstood me.I'm using the latest checkout of this module. No code of the module was ever changed. If I add a custom module in composer.json, all folders and files are symlinked to my current magento installation. This works perfectly.

During the development, I change some files in the magento module directory. If everything works, I commit later these changes to the according module. Because of this, the copy strategy is not an option for me. I need to be able to change files and see the code change in magento directly. Until this point, everything works.

If I remove a custom module now from the composer.jon file, it is uninstalled. All files in the vendor directory are deleted. But the dead symlinks remain. They are not deleted. If you try to reinstall the module again, this is not possible. I had to write a batch file, which deletes all symlinks and then do a full reinstall of all modules, to solve this problem.

mpaepper commented 10 years ago

See my pull request which should fix this issue: https://github.com/magento-hackathon/magento-composer-installer/pull/44

Flyingmana commented 10 years ago

pull request merged, reopen if you have problems