【问题标题】:How to run a cloned Laravel project with sail on Windows?如何在 Windows 上使用 Sai 运行克隆的 Laravel 项目?
【发布时间】:2022-07-16 16:38:25
【问题描述】:

我从 git 克隆了一个现有的 Laravel 项目,该项目使用 Sail 进行了 dockerized。由于供应商在 .gitignore 中,我需要先重建它,然后才能使用 Sail 运行我的应用程序。根据 Laravel 文档 (https://laravel.com/docs/8.x/sail#installing-composer-dependencies-for-existing-projects),我需要使用此命令获取我的依赖项。

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

问题是 cmd 和 powershell 似乎都在与 $ 斗争,它接缝他们期望一个小程序名称,我无法运行它。我错过了什么?

我在使用 PS 时遇到的错误是

id : 术语“id”不被识别为 cmdlet、函数、脚本文件或可运行程序的名称。

在cmd中,我得到了

docker: 来自守护进程的错误响应:create $(pwd): "$(pwd)" 包括本地卷名的无效字符,只有 "[a-zA-Z0-9][a-zA-Z0-9_ .-]" 是允许的。

我也尝试了 git bash 并得到了

docker:无效的引用格式:存储库名称必须为小写。

【问题讨论】:

  • 请分享您遇到的错误
  • 我刚刚更新了我的问题
  • 所以,无法识别id 命令,我不知道,但它说它不知道id 是什么。如果您在终端中运行id -u,它会起作用吗?
  • 当我运行 id -uid -g 时,git bash 输出 6 位数字,另外两个失败
  • 我猜这是为基于 unix 的环境提供的命令,这就是为什么 git bash 似乎比其他两个更理解它的原因。我希望我有 powershell 或 cmd 的翻译

标签: laravel windows docker composer-php laravel-sail


【解决方案1】:

仅在 WSL2 发行版中执行命令(例如 Ubuntu)

首先,从 PowerShell 中打开指向项目文件夹的 wsl 控制台

wsl -d ubuntu

然后执行 docker 命令执行 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

我建议检查您的 php 版本以了解可用的 laravel 帆兼容性

当使用 laravelsail/phpXX-composer 镜像时,您应该使用您计划用于您的应用程序的同一版本的 PHP(74、80 或 81)。

字体:Laravel Sail

【讨论】:

    猜你喜欢
    • 2019-05-12
    • 2021-10-12
    • 1970-01-01
    • 2016-09-02
    • 2019-07-14
    • 2018-08-04
    • 2013-08-11
    • 2023-03-29
    • 2022-11-16
    相关资源
    最近更新 更多