programing

종속성을 업데이트하는 동안 작곡자가 중단됨

starjava 2023. 3. 23. 22:13
반응형

종속성을 업데이트하는 동안 작곡자가 중단됨

오늘 작업 중인 Laravel 프로젝트를 업데이트하려고 했습니다.composer update

그게 걸려있었어요.Updating dependencies (including require-dev)

그래서 작곡가 업데이트, 덤프 자동 로딩 같은 걸 해봤는데 아무 것도 안 되는 것 같더라고요.요.composer update -vvv

그리고 이 책을 읽다가 이게 걸려있는 걸 발견했어요.

Reading path/to/Composer/repo/https---packagist.org/provider-cordoval$hamcrest-php.json from cache

org에서 it.packagist.org에서 cordoval/hamcrest-flash를 수 .은 나의 있지 .composer.json

폴더를 하면, 「」가 됩니다.mockery/mockery 패키지는, 「」를 필요로 합니다.hamcrest/hamcrest-php 제가 볼 수 게요.cordoval.

무엇이 문제인지, 업데이트를 하기 위해 어떻게 고칠 수 있는지 알고 계십니까?

여기 제 작곡가가 있습니다.

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "laravel/framework": "4.2.*",
        "iron-io/iron_mq": "dev-master",
        "phpunit/phpunit": "4.2.*",
        "mockery/mockery": "dev-master",
        "xethron/migrations-generator": "dev-master",
        "mailgun/mailgun-php": "dev-master"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "stable"
}

갱신하다

mockery/mockery 패키지를 포함한 패키지를 composer.json에서 삭제해 보았습니다.유일하게 변경된 것은 Composer가 다른 파일에 저장된다는 것입니다.

Composer를 장시간 실행한 후 다음과 같은 오류와 함께 종료되었습니다.

/path/to/ComposerSetup/bin/composer: line 18:  1356 Segmentation fault      php "${dir}/composer.phar" $*

어떻게 해야 할지...

제 경우, 8GB RAM Mac에서는 매우 오랜 시간이 걸렸습니다.진행률을 확인하고 종속성을 거치고 있는지 확인하려면 상세 모드에서 composer를 실행합니다.이것은 질문에서 놓친 접근법이었기 때문에 여기서 다시 언급할 가치가 있습니다.

composer update -vvv

의 php에 있는 되었습니다.xdebugmy my my my my my my my my my my my my my my my my my my my my myphp.ini을 사용법

참고로 캐시에서 파일을 읽는 동안 실제로 전화를 끊은 것은 아닙니다.작곡가가 의존관계를 해결하려고 했던 바로 다음 단계입니다.그 단계를 끝내지 못했고 출력도 출력되지 않았습니다.그래서 내가 뭘 하든 항상 캐시에서 파일을 읽는 것처럼 보였어요

First of all :방화벽과 프록시 접속을 확인합니다.모든 것이 정상이지만 Composer가 아직 행하고 있는 경우 Composer 캐시를 클리어해 보십시오.

composer clear-cache

https://getcomposer.org/doc/03-cli.md#clear-cache

두 번째 옵션: 이 절차로도 컴포저를 복구할 수 없는 경우 시스템의 RAM 메모리가 부족할 수 있습니다(이 문제에 직면했고 증상도 설명과 동일).이 시점에서는, 다음의 2개의 옵션이 있습니다.

a) 메모리 증설(가상 머신 또는 도커): 컨테이너 또는 VM에 더 많은 메모리가 필요합니다.다음 가이드를 따르십시오.https://stackoverflow.com/a/44533437/3518053

b) 스왑 파일 생성(Linux): 메모리를 늘리기 위해 스왑 파일을 만듭니다(위 명령어는 업데이트 중 사망한 컴포저로부터의 명령어입니다).

free -m
mkdir -p /var/_swap_
cd /var/_swap_
#Here, 1M * 2000 ~= 2GB of swap memory
dd if=/dev/zero of=swapfile bs=1M count=2000
mkswap swapfile
swapon swapfile
chmod 600 swapfile
echo "/var/_swap_/swapfile none swap sw 0 0" >> /etc/fstab
#cat /proc/meminfo
free -m

https 대신 HTTP를 사용하려고 하기 때문에 정체될 수 있습니다.그냥 실행해 주세요.

composer config --global repo.packagist composer https://packagist.org

날 위해 일하는 거지먼저 자동 로드에 대한 Run 명령어를 실행한 다음 캐시를 지우고 업데이트를 실행합니다.

composer dump-autoload
php artisan cache:clear
php artisan view:clear
composer update

저는 xDebug에 문제가 있었습니다.IDE의 단말기를 사용하고 있었는데, 디버거가 수신 접속을 수신하고 있었습니다(항상 그렇듯이).리슨 기능을 무효로 하면(확장 기능을 무효로 하지 않아도), 문제가 해결.

이건 내게 효과가 있었어:

composer self-update

vs 코드 단말기에 없는 명령어를 실행하여 해결했습니다.

저는 이것을 다른 기사에서 발견했는데, 아래의 작업을 하면 효과가 있다는 것을 알았습니다.composer 패키지 캐시로의 캐시/다운로드 문제인 것 같습니다.

composer update -vvv

다음으로 다음 작업을 수행합니다.컴포저 파일을 추가 또는 편집하여 이러한 설정을 설정합니다.

"repositories": [
    {
         "type": "composer", 
         "url": "https://packagist.org"
    },
    { "packagist": false }
]

시스템을 재기동합니다.

나는 오늘도 같은 문제에 직면했다.조언에 따라 xdebug를 껐지만 도움이 되지 않았습니다.모든 파일이 존재하는 것을 확인.시스템을 재기동했더니 작동했다.

필요한 최소한의 php 버전을 실행하고 있는지 확인합니다.

composer.json 파일에 지정된 필수 php 버전과 비교합니다.

오픈 터미널 실행

php -v

composer.json 파일을 크로스 체크인합니다.아래 예제를 참조해 주세요.

"require": { "php": "^7.1.3", }

php.ini에서 [xdebug] zend_debug = "file/path" 경로를 확인합니다.

는 그것을 해서 했다.php.ini검증에 :ssl "de cacert" 를 지정합니다.

  1. http://curl.haxx.se/ca/cacert.pem 파일을 다운로드합니다.
  2. ★★php.ini트를설 설정: :

    [openssl]
    ; The location of a Certificate Authority (CA) file on the local filesystem
    ; to use when verifying the identity of SSL/TLS peers. Most users should
    ; not specify a value for this directive as PHP will attempt to use the
    ; OS-managed cert stores in its absence. If specified, this value may still
    ; be overridden on a per-stream basis via the "cafile" SSL stream context
    ; option.
    openssl.cafile=C:\web\certs\cacert.pem
    curl.cainfo=C:\web\certs\cacert.pem
    
  3. 재시도

는 개인적으로 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★free시스템에 0kb의 스왑 스토리지가 있습니다.https://linuxize.com/post/create-a-linux-swap-file/을 사용하여 1GB 스왑 파일을 생성하면 문제가 즉시 해결되었습니다.

고민 해결 방법 : 와이파이 변경 (휴대폰 사용) - 대기 (약 5분)출력은 다음과 같습니다.

Creating a "magento/project-community-edition" project at "/tmp/exampleproject"
Installing magento/project-community-edition (2.4.5-p1)
  - Installing magento/project-community-edition (2.4.5-p1): Loading from cache
Created project in /tmp/exampleproject
Loading composer repositories with package information
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies (including require-dev)

대기 후 다음 출력이 표시되었습니다.

Updating dependencies (including require-dev)
Package operations: 546 installs, 0 updates, 0 removals
  - Installing laminas/laminas-dependency-plugin (2.4.0): Loading from cache

이유가 뭔지 모르겠지만 다음 명령도 실행합니다.

문제를 진단하려면 다음을 수행해야 합니다.

composer diagnose

각 행에서 OK가 나온다면(경고일 뿐 중요한 것은 아님) 작곡가에 문제가 없다는 것을 의미합니다.wifi를 바꿔서 기다리는 거 잊지 마!!!

언급URL : https://stackoverflow.com/questions/32573924/composer-hanging-while-updating-dependencies

반응형