簡體   English   中英

為什么 Drupal 的作曲家創建項目在 WSL2 中失敗?

[英]Why does composer create-project for Drupal fail in WSL2?

我是一名 Drupal 站點構建者,正在試驗 WSL2,我發現使用 composer 創建 Drupal 項目的例程沒有完成。

我的 PC 有 16GB RAM,並且允許作曲家無限 memory。 據我了解,我已為 WSL2 正確配置了 Docker。

創建項目過程正常啟動,但在安裝 drupal/core (9.0.2) 時停止。 無論是從源下載還是從緩存下載,這似乎都是如此。 相當長的時間后,該過程將失敗。 項目文件夾的內容大部分不完整。

我首先嘗試使用 DDEV 的Drupal 9 配方,這是一個基於容器的本地開發環境,其中包括作曲家。

不希望將矛頭指向 DDEV,然后我通過 Homebrew 在 WSL2 的主目錄中安裝了 composer 並再次嘗試,獨立於 DDEV 或 Docker。 運行composer create-project drupal/recommended-project my_site_name_dir ,我發現 composer 以完全相同的方式失敗。

作曲家 output 如下;

paul@DESKTOP-TQA1I7L:/mnt/c/Users/Paul/Sites/D9$ composer create-project drupal/recommended-project my_site_name_dir 在 "./my_site_name_dir" 創建一個 "drupal/recommended-project" 項目 安裝 drupal/recommended-項目 (9.0.2)

  • 安裝 drupal/recommended-project (9.0.2):從緩存中加載 在 /mnt/c/Users/Paul/Sites/D9/my_site_name_dir 中創建項目 使用 package 信息加載作曲家存儲庫 從鎖定文件 Z209802FB858E2C832Z5027E 安裝依賴項(包括 require-dev)操作:59 次安裝、0 次更新、0 次刪除
  • 安裝作曲家/安裝程序(v1.9.0):從緩存加載
  • 安裝 drupal/core-composer-scaffold (9.0.2):從緩存加載
  • 安裝 drupal/core-project-message (9.0.2):從緩存加載
  • 安裝typo3/phar-stream-wrapper (v3.1.4):從緩存加載
  • 安裝 symfony/polyfill-mbstring (v1.17.0):從緩存加載
  • 安裝 symfony/polyfill-ctype (v1.17.0):從緩存加載
  • 安裝 twig/twig (v2.12.5):從緩存加載
  • 安裝 symfony/yaml (v4.4.9):從緩存加載
  • 安裝 symfony/polyfill-php80 (v1.17.0):從緩存加載
  • 安裝 symfony/var-dumper (v5.1.0):從緩存加載
  • 安裝 symfony/translation-contracts (v2.1.2):從緩存加載
  • 安裝 symfony/validator (v4.4.9):從緩存加載
  • 安裝 symfony/translation (v4.4.9):從緩存加載
  • 安裝 psr/container (1.0.0):從緩存加載
  • 安裝 symfony/service-contracts (v2.1.2):從緩存加載
  • 安裝 symfony/serializer (v4.4.9):從緩存加載
  • 安裝 symfony/routing (v4.4.9): 從緩存加載
  • 安裝 symfony/polyfill-php72 (v1.17.0):從緩存加載
  • 安裝 symfony/polyfill-intl-idn (v1.17.0):從緩存加載
  • 安裝 symfony/mime (v5.1.0):從緩存加載
  • 安裝 symfony/http-foundation (v4.4.9):從緩存加載
  • 安裝 psr/http-message (1.0.1):從緩存加載
  • 安裝 symfony/psr-http-message-bridge (v2.0.0):從緩存加載
  • 安裝 symfony/process (v4.4.9):從緩存加載
  • 安裝 symfony/polyfill-php73 (v1.17.0):從緩存加載
  • 安裝 symfony/polyfill-iconv (v1.17.0):從緩存加載
  • 安裝 symfony/event-dispatcher-contracts (v1.1.7):從緩存加載
  • 安裝 symfony/event-dispatcher (v4.4.9):從緩存加載
  • 安裝 psr/log (1.1.3):從緩存加載
  • 安裝 symfony/debug (v4.4.9):從緩存加載
  • 安裝 symfony/error-handler (v4.4.9):從緩存加載
  • 安裝 symfony/http-kernel (v4.4.9):從緩存加載
  • 安裝 symfony/dependency-injection (v4.4.9):從緩存加載
  • 安裝 symfony/console (v4.4.9):從緩存加載
  • 安裝 symfony-cmf/routing (2.3.2):從緩存加載
  • 安裝堆棧/構建器(v1.0.6):從緩存加載
  • 安裝 ralouphie/getallheaders (3.0.3):從緩存加載
  • 安裝 psr/http-factory (1.0.1):從緩存加載
  • 安裝 pear/pear_exception (v1.0.1):從緩存加載
  • 安裝 pear/console_getopt (v1.4.3):從緩存加載
  • 安裝 pear/pear-core-minimal (v1.10.10):從緩存加載
  • 安裝 pear/archive_tar (1.4.9):從緩存加載
  • 安裝 masterminds/html5 (2.7.0):從緩存加載
  • 安裝 laminas/laminas-zendframework-bridge (1.0.4):從緩存加載
  • 安裝 laminas/laminas-stdlib (3.2.1):從緩存加載
  • 安裝 laminas/laminas-escaper (2.6.1):從緩存加載
  • 安裝 laminas/laminas-feed (2.12.2):從緩存加載
  • 安裝 laminas/laminas-diactoros (2.3.0):從緩存加載
  • 安裝 guzzlehttp/psr7 (1.6.1):從緩存加載
  • 安裝 guzzlehttp/promises (v1.3.1):從緩存加載
  • 安裝 guzzlehttp/guzzle (6.5.4):從緩存加載
  • 安裝學說/詞法分析器(1.2.1):從緩存加載
  • 安裝 egulias/email-validator (2.1.17):從緩存加載
  • 安裝學說/注釋(1.10.3):從緩存加載
  • 安裝學說/反射(1.2.1):從緩存加載
  • 安裝 composer/semver (1.5.1): 從緩存加載
  • 安裝 asm89/stack-cors (1.3.0):從緩存加載
  • 安裝drupal/core(9.0.2):從緩存加載無法從dist下載drupal/core:無法刪除/mnt/c/Users/Paul/Sites/D9/my_site_name_dir/vendor/composer/782129de/drupal-core- ea6e0ce/lib/Drupal/Core:現在嘗試從源下載
  • 安裝 drupal/core (9.0.2):從緩存中克隆 ea6e0cef32

[Symfony\Component\Process\Exception\ProcessTimedOutException] 進程“git checkout '9.0.2' --”超過了 300 秒的超時時間。

create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [ --dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [] [] []

paul@DESKTOP-TQA1I7L:/mnt/c/Users/Paul/Sites/D9$ paul@DESKTOP-TQA1I7L:/mnt/c/Users/Paul/Sites/D9$ composer create-project drupal/recommended-project my_site_name_dir 創建一個“./my_site_name_dir”中的“drupal/recommended-project”項目

[InvalidArgumentException] 項目目錄“/mnt/c/Users/Paul/Sites/D9/my_site_name_dir”不為空。

create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [ --dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [] [] []

您絕對需要將您的項目放在 WSL2 文件系統上以獲得良好的性能,是的。 請參閱@MrPaulDriver 的回答,絕對關鍵。

但我們建議在任何地方都使用ddev composer 這使您的作曲家使用與您的項目運行相同的作曲家設置和 php 版本進行構建,它可以幫助大多數人。 因此,甚至不需要在 ddev 主機的主機上安裝 php 或 composer。

例如, Drupal 9 快速入門顯示

mkdir my-drupal9-site
cd my-drupal9-site
ddev config --project-type=drupal9 --docroot=web --create-docroot
ddev start
ddev composer create "drupal/recommended-project"
ddev composer require drush/drush
ddev launch

我想即使在您以前的設置中,這也對您有用; 它在很多地方都有效。

有關更多詳細信息,請查看文檔中的DDEV 和 Composer

在閱讀了一些更新的文檔后,我現在明白問題是我試圖在.mnt/c/Users/Paul的 Windows 文件系統下執行此操作,而不是/home/paul的 Linux 位置

除了沒有錯誤地完成之外,性能也大大提高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM