lastcallmedia / composerextrafiles Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
When trying to install https://github.com/LastCallMedia/drupal-scaffold I hit an error when trying to install mannequin-core, which uses this plugin. This was with composer version 1.2.0
Running composer self-update
brought me to 1.5.2
, and the error went away.
Ideally, it'd be great for this to work with older versions of composer as well. If for some reason that's not possible, a helpful error would be useful.
Relevant console output from composer install -vvv
:
- Installing lastcall/mannequin-core (1.0.1)
Reading /Users/jeff/.composer/cache/files/lastcall/mannequin-core/483adefd8097744846687dfc7453883b11d6bad7.zip from cache
Loading from cache
Extracting archive
Executing command (CWD): unzip '/Users/jeff/Desktop/Drupal-Scaffold/vendor/lastcall/mannequin-core/36b2536b49948572a3e65034cb9f6200' -d '/Users/jeff/Desktop/Drupal-Scaffold/vendor/composer/2331bf6b' && chmod -R u+w '/Users/jeff/Desktop/Drupal-Scaffold/vendor/composer/2331bf6b'
Skipped installation of bin bin/mannequin for package lastcall/mannequin-core: name conflicts with an existing file
REASON: Required by the root package: Install command rule (install lastcall/mannequin-core 1.0.1)
- Installing lastcall/mannequin-core:ui (1.0.1)
Failed: [ErrorException] 0: array_replace_recursive(): Argument #3 is not an array
[ErrorException]
array_replace_recursive(): Argument #3 is not an array
Exception trace:
() at phar:///Users/jeff/bin/composer/src/Composer/Util/RemoteFilesystem.php:697
Composer\Util\ErrorHandler::handle() at n/a:n/a
array_replace_recursive() at phar:///Users/jeff/bin/composer/src/Composer/Util/RemoteFilesystem.php:697
Composer\Util\RemoteFilesystem->getOptionsForUrl() at phar:///Users/jeff/bin/composer/src/Composer/Util/RemoteFilesystem.php:229
Composer\Util\RemoteFilesystem->get() at phar:///Users/jeff/bin/composer/src/Composer/Util/RemoteFilesystem.php:86
Composer\Util\RemoteFilesystem->copy() at phar:///Users/jeff/bin/composer/src/Composer/Downloader/FileDownloader.php:139
Composer\Downloader\FileDownloader->doDownload() at phar:///Users/jeff/bin/composer/src/Composer/Downloader/FileDownloader.php:91
Composer\Downloader\FileDownloader->download() at phar:///Users/jeff/bin/composer/src/Composer/Downloader/ArchiveDownloader.php:36
Composer\Downloader\ArchiveDownloader->download() at phar:///Users/jeff/bin/composer/src/Composer/Downloader/DownloadManager.php:213
Composer\Downloader\DownloadManager->download() at /Users/jeff/Desktop/Drupal-Scaffold/vendor/lastcall/composer-extra-files/src/Plugin.php:53
LastCall\ExtraFiles\Plugin->installExtraFiles() at n/a:n/a
call_user_func() at phar:///Users/jeff/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:170
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///Users/jeff/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:115
Composer\EventDispatcher\EventDispatcher->dispatchPackageEvent() at phar:///Users/jeff/bin/composer/src/Composer/Installer.php:563
Composer\Installer->doInstall() at phar:///Users/jeff/bin/composer/src/Composer/Installer.php:216
Composer\Installer->run() at phar:///Users/jeff/bin/composer/src/Composer/Command/InstallCommand.php:135
Composer\Command\InstallCommand->execute() at phar:///Users/jeff/bin/composer/vendor/symfony/console/Command/Command.php:259
Symfony\Component\Console\Command\Command->run() at phar:///Users/jeff/bin/composer/vendor/symfony/console/Application.php:844
Symfony\Component\Console\Application->doRunCommand() at phar:///Users/jeff/bin/composer/vendor/symfony/console/Application.php:192
Symfony\Component\Console\Application->doRun() at phar:///Users/jeff/bin/composer/src/Composer/Console/Application.php:231
Composer\Console\Application->doRun() at phar:///Users/jeff/bin/composer/vendor/symfony/console/Application.php:123
Symfony\Component\Console\Application->run() at phar:///Users/jeff/bin/composer/src/Composer/Console/Application.php:104
Composer\Console\Application->run() at phar:///Users/jeff/bin/composer/bin/composer:43
require() at /Users/jeff/bin/composer:24
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...
jeff:Drupal-Scaffold $ (master) composer self-update
Updating to version 1.5.2 (stable channel).
Downloading: 100%
This is a meta question. I work on a project that's been looking for a bower
off-ramp and which gets used in several different file-structures. The approach in this plugin seems clever and like a pretty good fit. I've got some some usability improvements in a fork, but I also see the repo hasn't been updated in 2 years, so I'm not quite sure how to pursue publication -- e.g. whether to pursue a series of PRs or just keep the fork going.
First, here's a preview of the changes:
composer.json
, copy the example snippet, run composer install
, and.... nothing. I figured it wasn't working. After poking/testing/reading more carefully, I found it does work... but only for dependencies. If the extra-files
are in the root project (which is one of the cases that I do need to use), then it doesn't work. It's easier to learn/test/develop/iterate when one has root-project support.url
of a file and re-run composer install
. It doesn't do anything. The patch now uses a tracking file (.composer-extra-files.json
) and re-downloads after any changes . I suppose it's not a big concern if you strictly consume packages (composer probably destroys the stale content in tandem with dependency-upgrade?), but it helps with learning/testing/developing/iterating.path
, ignore
): All the downloads in my intended project go under bower_components
. It's handy to set the path
with a default formula ("path": "bower_components/{$id}"
).Details: https://github.com/totten/ComposerExtraFiles/commits/master
I guess there are loosely two ways to go about this:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.