首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置和运行拉拉,从吉特?

如何设置和运行拉拉,从吉特?
EN

Stack Overflow用户
提问于 2021-06-10 18:55:17
回答 3查看 519关注 0票数 1

要么我错过了什么,要么整个链条缺少一些东西。

我的假设是:

在开发过程中,容器化的全部目的是降低环境设置的成本,并创建一个包含所有所需部件的预先准备的映像。

所以,当我看到拉勒维尔帆通过集装箱安装laravel时,我感到很兴奋。因此,我通过他们的指示安装它,一切都正常。

然后问题就开始了。因为:

  • 成功安装之后,我使用GitHub的默认laravel .gitignore创建了一个git回购
  • 然后,我将新安装的laravel应用程序push到我的git中。
  • 然后我请开发人员开始开发它。请注意:
    • 他没有安装PHP
    • 他没有安装作曲家

  • 他复制了回购,并按照安装指南运行./vendor/bin/sail up
  • 但是./vender文件夹在.gitignore中是正确排除的。
  • 因此,他的指挥结果是:

bash:./卖主/bin/sail:没有这样的文件或目录

  • 他当然会在谷歌上搜索,并发现人们建议运行composer update
  • 他去安装composer,然后在PHP之前,然后所有PHP扩展程序,然后.

我是不是错过了什么?containerization的全部要点是不要在本地安装所需的环境

运行一个laravel应用程序的正确方法是什么?它不是从https://laravel.build安装的,而是从git、中克隆出来的,而没有在本地安装或Composer?

更新

我找到了比特尼拉威尔码头,这正是容器应该是什么。

EN

回答 3

Stack Overflow用户

发布于 2021-06-10 19:38:05

您是对的,其他开发人员不需要安装php或composer。他/她所需要的就是安装在本地机器上的码头工人。

如果您在“入门”一节中使用官方Laravel中提到的内容为项目搭建脚手架,那么您将在您的项目根目录中有一个docker-compose.yml文件。

Windows操作系统

对于Linux

适用于Mac操作系统

在git克隆存储库之后,开发人员所要做的就是运行

代码语言:javascript
复制
docker-compose up --build -d

就这样。

票数 5
EN

Stack Overflow用户

发布于 2022-03-27 20:08:10

对于那些为这个问题挣扎的人..。我找到了一个能正常工作的命令。

首先,您不需要在本地安装任何PHP或Composer,可能对它有误解,您所需要的只是Docker。

Docker会在我理解的东西中安装所有你需要的东西,就像一个沙箱,而不是本地的,为每个项目。

对于那些下载的项目,例如从GIT下载的项目,它没有vendor文件夹,而且显然不能执行sail up,您可以简单地执行:

代码语言:javascript
复制
docker run --rm --interactive --tty -v $(pwd):/app composer install

如果您还没有下载composer映像,该命令将下载该映像。然后,将运行一个composer install,如果您没有配置别名,您可以自由地执行一个./vendor/bin/sail up,如果您已经配置了一个别名,则只执行sail up

就这样。

票数 1
EN

Stack Overflow用户

发布于 2022-10-27 08:14:52

正式文件列出以下命令。

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

如果要克隆Laravel项目并在项目根中运行此命令,它将创建一个安装了php和composer的非常小的容器,并在项目根目录中运行composer来安装所有php依赖项。实际上,这会将Laravel核心代码安装到克隆的项目中。一旦项目以这种方式设置,用户应该创建一个本地.env文件来匹配他们的开发环境。

代码语言:javascript
复制
cp .env.example .env            # creates a .env file to be populated for the local environment

设置了envronment后,它们现在可以在docker中创建应用程序容器并运行应用程序。拉勒维尔为此提供了水手帮手。

代码语言:javascript
复制
./vendor/bin/sail up -d         # runs the docker containers in detached mode

现在的问题是设置laravel应用程序并运行Laravel应用程序。(我假设该应用程序使用了一个依赖Node.js的Laravel工具包。如果您只使用刀片应用程序,则可以跳过"npm“命令。)

代码语言:javascript
复制
sail artisan key:generate       # (Best Practice) Generate a new application key on each machine
sail artisan migrate            # Scaffold the database structure
sail artisan db:seed            # (Optional) Seed the database with data
sail npm install                # (Optional) Install front-end dependencies (Inertia, Vue, React, others...)
sail npm run dev                # (Optional) Run the front-end framework in development mode

这样,新开发人员应该以原始开发人员的身份运行项目和开发环境的精确副本。

您的项目README可能包括设置其他依赖项的其他步骤,但这是为Laravel项目做出贡献的基本工作流。

此工作流的唯一先决条件是安装带有Internet连接的Docker。这在Windows、Mac和Linux上通过安装码头桌面是最容易实现的。

旧项目的替代方案

如果您正在处理一个不使用Laravel但有一个docker-compose.yml文件的旧项目,那么您应该能够使用以下命令构建和运行必要的容器。

代码语言:javascript
复制
docker-compose up --build -d

一旦容器运行,就需要将项目依赖项直接安装到容器中。

代码语言:javascript
复制
docker ps             # find the container ID of your project's container
docker exec -it CONTAINER_ID php artisan key:generate
docker exec -it CONTAINER_ID php artisan migrate
docker exec -it CONTAINER_ID php artisan db:seed
docker exec -it CONTAINER_ID npm install
docker exec -it CONTAINER_ID npm run dev

当然,Desktop简化了这个过程。通过单击按钮,您可以在容器中直接打开终端外壳,而无需使用docker exec命令。

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

https://stackoverflow.com/questions/67927013

复制
相关文章

相似问题

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