Closed (fixed)
Project:
Drupal core
Version:
11.x-dev
Component:
base system
Priority:
Normal
Category:
Plan
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
24 May 2013 at 02:00 UTC
Updated:
4 Jun 2025 at 07:49 UTC
Jump to comment: Most recent
Comments
Comment #0.0
robloacha
Comment #0.1
robloachUpdated issue summary.
Comment #0.2
robloachUpdated issue summary.
Comment #1
robloachTagging
Comment #1.0
robloachUpdated issue summary.
Comment #2
patcon commentedNice. Is there an issue that properly captures the thought below, without polluting another thread?
Relevant excerpt:
#1612910-34: [policy, no patch] Switch to Semantic Versioning for Drupal contrib extensions (modules, themes, etc)
Related: #586146-16: [policy, no patch] Decide if and how to implement semantic versioning for Drupal 8.x
EDIT: Meh. Opened a new issue :)
#2018019: Split core modules into separate repos with independently versioned API's
Comment #2.0
patcon commentedUpdated issue summary.
Comment #2.1
robloachUpdated issue summary.
Comment #3
mile23Comment #4
mile23Added a link to a test I made to validate Drupal 8's use of Composer. https://github.com/paul-m/d8-create-project
Comment #5
mile23And another one for
composer require: https://github.com/paul-m/d8-require-drupalComment #6
mile23Comment #7
mile23Comment #8
mile23Comment #9
les limAdded beta evaluation.
Comment #10
les limComment #11
mile23Added some behaviors we want to support.
Please discuss these. :-)
Comment #12
MKorostoff commentedFor me the big one is
composer require. Composer is a dependency manager—if I can't use it to add dependencies it's not really much use to me. I would love to see that feature make it in.Comment #13
mile23Added this test: https://travis-ci.org/paul-m/d8-drupal-require
Comment #14
timmillwoodLooks like this might just be working:
Comment #15
timmillwoodI have run this through travis again and it gets the code ok, but results in two vendor directories '/vendor' and '/core/vendor' which is causing issues.
https://travis-ci.org/timmillwood/d8-create-project
Comment #16
timmillwoodI have opened a new issue to sort out the duplicate vendor directory problem.
#2500295: 'composer install' creates two vendor directories
Comment #17
mile23Made this: #2536576: Add composer_dependency module, have it help users figure out how to install Composer dependencies
Comment #18
timmillwoodComment #19
webflo commentedComment #20
mile23Ladies and gentlemen, after #2380389: Use a single vendor directory in the root, we have: https://travis-ci.org/paul-m/d8-drupal-require
(Spoiler: It's passing.)
We can now say
composer require crell/api-problemand it works.https://travis-ci.org/paul-m/d8-create-project still fails, but actually looks solvable.
Comment #21
webflo commentedhttps://travis-ci.org/paul-m/d8-create-project fails because the package on packagist is outdated. Just wait a few days and it will work.
Comment #22
mile23Here's a test that proves that you can (minimally) use core as a dependency of your own project: https://travis-ci.org/paul-m/d8-require-drupal
Comment #23
mile23Added new child issue: #2609568: Have wikimedia/composer-merge-plugin manage contrib dependencies.
Super easy.
Comment #24
jhedstromComment #25
jhedstromHas anybody looked at how much work it would be for Drupal to discover modules and themes in the
vendordirectory (if it's possible at all)?That would certainly reduce the amount of odd things we have to do to support proper composer use.
Comment #26
webflo commentedDiscovery is one problem, but we ship web accessible assets with our modules/themes and deny access to the vendor folder completely.
Comment #27
lpalgarvio commentedCareful that in 8.1-beta2, with zendframework/zend-stdlib 2.7.3, zend-hydrator was still being used, but as of zend-stdlib 3.0.0, it has been deprecated and removed as dependency from zend-stdlib (no longer installed by default).
from stdlib 2.7.3:
That means if some code is using classes from the hydrator, the dependency will need to be added manually to the require in composer or the classes will need to be reworked.
https://api.drupal.org/api/drupal/vendor!zendframework!zend-hydrator!src...
The result -- if you download the 8.1-beta2 tarball, zend-hydrator is included; if you use composer to get drupal8, it will not be included.
more info:
https://github.com/drupal-composer/drupal-project
https://bojanz.wordpress.com/2015/09/18/d8-composer-definitive-intro/
Comment #28
robloachAdding this to the list:
#2703487: Move Drupal.php autoloading from "files" to "classmap"
Comment #29
robloachComment #30
hswong3i commentedComment #33
leksat commentedHello!
We just noticed that all 8.1.x tags are broken in https://github.com/drupal/core repository.
We did not know where to report this, so posted at https://github.com/drupal/core/issues/1
Also, I'm adding this comment to attract some attention :)
Tags other than 8.1.x look good.
UPD: the issue was fixed by Ryan Aslett.
Comment #35
websiteworkspace commentedthe composer utility and drupal require conflicting PHP settings:
I recently ran into a problem with D8.x image upload that was only fixed by the PHP setting:
allow_url_fopen = Off
which is as documented on drupal.org for D8.x PHP settings requirements (see link):
https://www.drupal.org/docs/7/system-requirements/php#shortlist
Meanwhile the PHP setting above disables the composer utility which throws a specific error message stating that:
allow_url_fopen = On
must be set for it to operate (see composer error text):
Comment #36
Mixologic@DrupalWebsiteBuilder : Drupals recommendation for
allow_url_fopen = Offis correct for web based php. However, composer is a command line php application, and as such you would typically have a completely separate php.ini for command line applications. If you have one configuration for both CLI php and webserver php, then you will likely encounter conflicts such as this.Comment #37
adamps commentedRelated issue: #2906637: [META] Drush and core compatibility is fragile
There is increased urgency for needing composer because "drush pm-upgrade" is in danger of stopping working in D8.
Comment #39
mile23Heads up: #2958021: Proposal: Composer Support in Core initiative
Comment #41
norman.lolIn the first snippet in the description there's written
$ cd path/to/drupal/whereas in the second snippet there's written$ cd drupalroot/. Is there supposed to be adrupalrootfolder insidepath/to/drupal? I know these folder names are placeholders. But shouldn't it be$ cd path/to/drupal/in both snippets to avoid confusion?Comment #42
joachim commentedIs there an issue yet for fixing the problem whereby Drupal contrib projects that have submodules can't be updated painlessly?
E.g. I am on acsf 2.48.0, which is not the latest version, and 'composer update drupal/acsf' says:
> Nothing to install or update
'composer why-not drupal/acsf 2.51.0' gives the answer:
There are circular dependencies between the main module & its submodules, which AFAIK are created by d.org's composer packaging process.
That means that if you don't know about this, you are headdesking because Composer is refusing to install a new version.
If you DO know about this, you have to name ALL submodules when doing a composer update:
> composer update drupal/acsf drupal/acsf_theme drupal/acsf_variables
This is a) a pain, and b) counter-intuitive, and c) ruins the point of Composer being able to manage dependencies.
Comment #43
mmjvb commentedDoubt very much it is considered a software problem. Suggest to start with `composer prohibits` (why-not) when updating to find out whether there are things blocking the update. Suggest to use --with-dependencies --dry-run on `composer update` to find out what it will do. In the case that only its submodules are effected you can use --with-dependencies. Otherwise advice to whitelist them, possibly with acsf*.
Comment #46
andypostChecked replacement of default autoloader with composer one brings +5-8% of RPS for me
Also https://twitter.com/nmdmatt/status/1328902315164766208 states similar
Comment #52
quietone commentedI am going to close this and open a new Meta, a part 2, for the following reasons
I will move the child issues that are still open to the new meta, #3525703: [meta] Improve Drupal's use of Composer, round 2.