복제된 laravel 프로젝트를 위한 항해가 작동하지 않습니다

복제된 laravel 프로젝트를 위한 항해가 작동하지 않습니다

Windows 10, WSL2 및 Docker가 있습니다.

GitHub에서 저장소를 복제했는데, 하려고 하면 sail up다음 메시지가 나타납니다 /usr/bin/env: ‘sh\r’: No such file or directory.

다음은 내 문제에 대한 해결책이라고 생각되는 laravel 웹 사이트에서 가져온 것입니다.

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php81-composer:latest \
    composer install --ignore-platform-reqs

위 코드의 소스는 다음과 같습니다.https://laravel.com/docs/8.x/sail#installing-composer-dependent-for-existing-projects

난 노력 했어 docker run laravelsail/php81-composer:latest. 나는 또한 시도했다 docker run --rm -v $(pwd):/app composer/composer install. 두 번 모두 계속해서 /usr/bin/env: ‘sh\r’: No such file or directory.

내 프로젝트를 볼 수 있도록 항해를 시작하도록 안내해 주시겠습니까 localhost?

감사해요.

composer.json파일:

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "php": "^8.0.2",
        "guzzlehttp/guzzle": "^7.2",
        "laravel/framework": "^9.2",
        "laravel/sanctum": "^2.14.1",
        "laravel/tinker": "^2.7"
    },
    "require-dev": {
        "fakerphp/faker": "^1.9.1",
        "laravel/breeze": "^1.9",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^6.1",
        "phpunit/phpunit": "^9.5.10",
        "spatie/laravel-ignition": "^1.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-update-cmd": [
            "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

답변1

git config --global core.autocrlf false아직 영향을 받지 않은 이전에 복제한 실제 저장소를 실행한 후 저장소를 새로 고쳐야 하는 것 같습니다 .

다음 두 가지 접근 방식으로 이 목표를 달성할 수 있습니다.

  1. 처음에 복제한 저장소를 삭제하고 다시 복제하면 이제 autcrlf가 적용됩니다.
  2. 저장소 재정규화

옵션 2의 경우:

작업 내용이 손실되지 않도록 현재 파일을 Git에 저장하세요.

$ git add . -u
$ git commit -m "Saving files before refreshing line endings"

변경된 모든 파일을 다시 추가하고 줄 끝을 정규화합니다.

$ git add --renormalize .

다시 작성되고 정규화된 파일을 표시합니다.

$ git status

저장소에 변경 사항을 커밋합니다.

$ git commit -m "Normalize all the line endings"

원천:https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings#refreshing-a-repository-after-changing-line-endings

관련 정보