Topic on Talk:Download

Jump to navigation Jump to search

"Installing some external dependencies (e.g. via composer) is required."

1
Summary last edited by 46.46.194.130 08:24, 1 December 2018 10 months ago

This is about how to get around the annoying and quite confusing error message, and what might be the reason it appears at all.

In short; do not use GUI tools while recompressing a tar-archive as a zip-archive, use the command line tool!

Jeblad (talkcontribs)

It is quite common for web hotels to only handle zip archives. We only provide gz compressed tar archives, thus the archives has to be recompressed before uploading. This souldn't be much of a hurdle, but it seems like some archive tools occasionally fails to include all files in large archives. This happen at least in Ubuntus fileroller, but reports it might imply it also happen to other tools. When this happen the vendor folder is left out, leaving the user with a rather non-explanatory error message "Installing some external dependencies (e.g. via composer) is required."

Without a proper investigation, only assumptions, it seems like some of the gui tools tries to select the actual files when an archive is created. For a gui tool this makes sense. This selection is then feed into the actual archive command. Between the actual selection and the archive operation there can be a race condition, as the selection isn't quite done and archive operation is started. This will happen if the pending selection is large enough, our archive contains ~14k files, and then the created archive will be incomplete. In our case this will typically lead to a missing or incomplete vendor folder.

Check the zip archive before it is uploaded to the web hotel, and verify that it includes the vendor folder. If not recreate the zip archive, and give whatever gui tool necessary time to select all files.

A quite simple fix could be to provide the archive in several formats. That would avoid the extraneous recreation step, and less people would stumble into this "bug".

Reply to ""Installing some external dependencies (e.g. via composer) is required.""