Рейтинг:1

Add Composer to an existing site

флаг in

I built a Drupal 8.9 site with Composer on a DEV server and copied the files (& db) over to the LIVE server.

The LIVE server did not have Composer installed previously so I installed it, locally.

The new website has its composer.json file from when I created the site and added modules.

I tried composer update to verify that composer will work when the time comes.

It fails and I don't know if I need to rip out the website and re-create it again (then copy select files back over).


When I run it I get the following output:

Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages.

Problem 1
    
    - Conclusion: don't install drupal/core-recommended 8.9.x-dev (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.8.7 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.8.8 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.8.9 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.8.10 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.8.11 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.8.12 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.0 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.1 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.2 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.3 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.4 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.5 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.6 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.7 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.8 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.9 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.10 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.11 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.12 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.13 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.14 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.15 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.16 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.17 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.18 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.19 (conflict analysis result)
    - Conclusion: don't install drupal/core-recommended 8.9.20 (conflict analysis result)
    - drupal/core-recommended[8.8.0-beta1, ..., 8.9.0-rc1] require composer/installers v1.7.0 -> satisfiable by -> composer/installers[v1.7.0].
    - composer/installers v1.7.0 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.1.0] but it does not match the constraint.
    - symfony/polyfill-mbstring 1.23.x-dev is an alias of symfony/polyfill-mbstring dev-main and thus requires it to be installed too.
    - easyrdf/easyrdf 0.9.1 requires ext-mbstring * -> satisfiable by symfony/polyfill-mbstring[dev-main, 1.23.x-dev (alias of dev-main)].
    - You can only install one version of a package, so only one of these can be installed: symfony/polyfill-mbstring[dev-main, v1.0.0, ..., v1.23.1].
    - drupal/core-recommended 8.8.x-dev requires easyrdf/easyrdf 0.9.1 -> satisfiable by easyrdf/easyrdf[0.9.1].
    - drupal/core-recommended 8.8.x-dev requires symfony/polyfill-mbstring v1.12.0 -> satisfiable by symfony/polyfill-mbstring[v1.12.0].
    - Root composer.json requires drupal/core-recommended ^8.8 -> satisfiable by drupal/core-recommended[8.8.0-beta1, ..., 8.9.x-dev].

To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php.ini
    - /etc/php.ini
    - /etc/php.d/20-bz2.ini
    - /etc/php.d/20-calendar.ini
    - /etc/php.d/20-ctype.ini
    - /etc/php.d/20-curl.ini
    - /etc/php.d/20-dom.ini
    - /etc/php.d/20-exif.ini
    - /etc/php.d/20-fileinfo.ini
    - /etc/php.d/20-ftp.ini
    - /etc/php.d/20-gd.ini
    - /etc/php.d/20-gettext.ini
    - /etc/php.d/20-iconv.ini
    - /etc/php.d/20-json.ini
    - /etc/php.d/20-mysqlnd.ini
    - /etc/php.d/20-pdo.ini
    - /etc/php.d/20-phar.ini
    - /etc/php.d/20-simplexml.ini
    - /etc/php.d/20-sockets.ini
    - /etc/php.d/20-sqlite3.ini
    - /etc/php.d/20-tokenizer.ini
    - /etc/php.d/20-xml.ini
    - /etc/php.d/20-xmlwriter.ini
    - /etc/php.d/20-xsl.ini
    - /etc/php.d/30-mcrypt.ini
    - /etc/php.d/30-mysqli.ini
    - /etc/php.d/30-pdo_mysql.ini
    - /etc/php.d/30-pdo_sqlite.ini
    - /etc/php.d/30-wddx.ini
    - /etc/php.d/30-xmlreader.ini
    - /etc/php.d/40-zip.ini 

You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Running php --ini comes up with a matching list


Contents of my composer.json file:

$ clear && cat composer.json
{
  "name": "drupal/recommended-project",
  "description": "Project template for Drupal 8 projects with a relocated document root",
  "type": "project",
  "license": "GPL-2.0-or-later",
  "homepage": "https://www.drupal.org/project/drupal",
  "support": {
  "docs": "https://www.drupal.org/docs/user_guide/en/index.html",
  "chat": "https://www.drupal.org/node/314178"
},
"repositories": [
  {
    "type": "composer",
    "url": "https://packages.drupal.org/8"
  }
],
"require": {
  "composer/installers": "^1.2",
  "drupal/block_class": "^1.3",
  "drupal/bootstrap": "^3.23",
  "drupal/captcha": "^1.2",
  "drupal/core-composer-scaffold": "^8.8",
  "drupal/core-project-message": "^8.8",
  "drupal/core-recommended": "^8.8",
  "drupal/mask": "^2.0@alpha",
  "drupal/recaptcha": "^3.0",
  "drupal/webform": "^6.1"
},
"conflict": {
  "drupal/drupal": "*"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
  "sort-packages": true
},
"extra": {
  "drupal-scaffold": {
    "locations": {
      "web-root": "web/"
    }
  },
  "installer-paths": {
    "web/core": [
      "type:drupal-core"
    ],
    "web/libraries/{$name}": [
      "type:drupal-library"
    ],
    "web/modules/contrib/{$name}": [
      "type:drupal-module"
    ],
    "web/profiles/contrib/{$name}": [
      "type:drupal-profile"
    ],
    "web/themes/contrib/{$name}": [
      "type:drupal-theme"
    ],
    "drush/Commands/contrib/{$name}": [
      "type:drupal-drush"
    ],
    "web/modules/custom/{$name}": [
      "type:drupal-custom-module"
    ],
    "web/themes/custom/{$name}": [
      "type:drupal-custom-theme"
    ]
  },
  "drupal-core-project-message": {
    "include-keys": [
      "homepage",
      "support"
    ],
    "post-create-project-cmd-message": [
      "<bg=blue;fg=white>                                                         </>",
      "<bg=blue;fg=white>  Congratulations, you’ve installed the Drupal codebase  </>",
      "<bg=blue;fg=white>  from the drupal/recommended-project template!          </>",
      "<bg=blue;fg=white>                                                         </>",
      "",
      "<bg=yellow;fg=black>Next steps</>:",
      "  * Install the site: https://www.drupal.org/docs/8/install",
      "  * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html",
      "  * Get support: https://www.drupal.org/support",
      "  * Get involved with the Drupal community:",
      "      https://www.drupal.org/getting-involved",
      "  * Remove the plugin that prints this message:",
      "      composer remove drupal/core-project-message"
    ]
  }
}
флаг cn
Из ошибки кажется, что вам нужно установить php mbstring
Рейтинг:2
флаг de

Я попытался обновить композитор, чтобы убедиться, что композитор будет работать, когда приходит время.

Чтобы проверить, будет ли он работать, когда придет время, вы можете запустить установка композитора. Это попытается установить набор зависимостей в соответствии с тем, что указано в композитор.lock файл. Бег обновление композитора пытается обновить все ваши модули до новейших версий. Запуск этого на вашем рабочем сервере без локального запуска приведет к тому, что ваш рабочий сервер будет иметь другой непроверенный набор версий модулей, чем ваша локальная система. Вы бы никогда не хотели бежать обновление композитора на рабочем сервере, только когда-либо установка композитора. Вы можете прочитать больше об этом здесь (бесстыдная самостоятельная вилка): https://www.morpht.com/blog/drupal-and-composer-part-1-understanding-composer#synchronizing-project-versions

Что касается вашей проблемы с обновлением, я полагаю, что она заключается здесь:

composer/installers v1.7.0 требует composer-plugin-api ^1.0 -> найдено composer-plugin-api[2.1.0], но это не соответствует ограничению.

Твой композитор.json пытается установить композитор/установщики, который указывает версию, начинающуюся с 1.0, но Composer нашел только 2.0. Я думаю, что это проблема Composer версии 1 и Composer версии 2. Если я правильно помню, когда вы обновили Composer до версии 2, он не может найти композитор/установщики версия 1.

Вы можете попробовать запустить самообновление композитора --1 перейти на Composer версии 1 (обратите внимание, что вы можете вернуться к версии 2 с помощью самообновление композитора --2). Если вы обнаружите, что обновление композитора работает с использованием Composer версии 1, то вам необходимо разрешить конфликт перед обновлением до Composer 2. Однако это другая тема.

Hometoy avatar
флаг in
На моем сервере DEV я начал с Compose версии 1, а затем самостоятельно обновился до версии 1. 2. К сожалению, все еще получают ошибки с обеими версиями. По крайней мере с вер. 1 Я получил новую ошибку о «недостаточно памяти», поэтому я увеличил memory_allocation и теперь продолжаю получать те же ошибки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.