首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将编写器添加到现有站点

将编写器添加到现有站点
EN

Drupal用户
提问于 2021-12-07 16:56:24
回答 1查看 236关注 0票数 1

我在DEV服务器上用Composer构建了一个Drupal8.9站点,并将文件(& db)复制到活动服务器上。

活动服务器以前没有安装Composer,所以我在本地安装了它。

新网站有它的composer.json文件,从我创建网站和添加模块。

我试着用composer update来验证作曲家在时机成熟时是否会工作。

它失败了,我不知道我是否需要撕掉网站,并重新创建它(然后复制,选择文件回来)。

当我运行它时,我得到以下输出:

代码语言:javascript
复制
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.

运行php --ini会产生一个匹配列表

composer.json文件的内容:

代码语言:javascript
复制
$ 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": [
      "                                                         ",
      "  Congratulations, you’ve installed the Drupal codebase  ",
      "  from the drupal/recommended-project template!          ",
      "                                                         ",
      "",
      "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"
    ]
  }
}
EN

回答 1

Drupal用户

发布于 2021-12-07 17:13:19

我尝试了composer更新来验证composer在时机成熟时是否会工作。

要验证它在时间成熟时是否有效,您需要运行composer install。这将尝试根据composer.lock文件中列出的内容安装依赖项集。运行composer update会尝试将所有模块更新为最新版本。在您的生产服务器上运行它而没有在本地运行它将导致您的生产服务器拥有与您的本地系统不同的未经测试的模块版本集。您永远不希望在生产服务器上运行composer update,而只希望在composer install上运行。你可以在这里读到更多关于它的信息(无耻的自我插头):https://www.morpht.com/blog/drupal-and-composer-part-1-understanding-composer#synchronizing-project-versions

关于你对最新情况的看法,我认为这就是:

代码语言:javascript
复制
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.

您的composer.json正在尝试安装composer/installers,它指定了一个以1.0开头的版本,但是Composer只找到了2.0。我认为这是一个作曲家版本1和作曲家版本2的问题。如果我没有记错,当您将Composer升级到版本2时,它将无法找到composer/installers版本1。

您可以尝试运行composer self-update --1将其降级为Composer版本1(请注意,您可以使用composer self-update --2切换回v2 )。如果您发现composer update使用Composer版本1工作,那么在升级到Composer 2之前,您需要解决冲突。

票数 2
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/308615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档