Laravel/Homestead vagrant box 从系统中消失了

     2023-02-25     218

关键词:

【中文标题】Laravel/Homestead vagrant box 从系统中消失了【英文标题】:Laravel/Homestead vagrant box disapeared from system 【发布时间】:2019-04-24 10:56:44 【问题描述】:

我有一个已经完成的 php 项目,对于初学者,我必须将它放在服务器上(计划使用 Heroku)。我是 PHP 虚拟盒、Laravel 等的新手。制作该项目的人建议使用 Laravel,所以我开始这样做。我在 Windows 10 上运行并使用 cmder 作为我的终端。

    我下载了 VirtualBox 和 Vagrant。

    然后使用指挥官我添加了 Laravel/Homestead 盒子 通过这样做:

    vagrant box add laravel/homestead
    

    在文件夹 c:\Users\Jacky\vagrant\ubuntu 中(至少我认为这是我添加它的地方)

    后来我相信我做到了 流浪初始化 或vagrant init laravel/homestead 无论我后来做什么,我都能跑 流浪者 ssh 并进入系统。在那里我可以检查并安装了 php 和 composer。 然后我按照 laravel 的说明在 c:\Jack\Homestead 创建了一个 homestead 文件夹 为 v7.19.2 运行 git checkout 运行 init.bat 并配置 Homestead.yaml 文件

我做了以下文件夹图

- map: C:\Jack\myapp\public
      to:  /home/vagrant/myapp

以及以下站点地图

 - map: myapp.test
      to:  /home/vagrant/myapp/public

我对整个事情的目录结构有点困惑,不确定我是否应该将 myapp 目录放在 c:\Jack\Homestead\myapp 中,或者只是像我在 c:\Jack 中那样做\myapp 很好。

无论如何仍然有效,我可以在我的网络浏览器中看到它。到目前为止一切都很好。

然后项目说明告诉我执行以下操作

    运行作曲家安装 我必须将一个 env.example 文件更改为 .env 并更改一些设置 运行 php artisan key:generate 运行 php artisan migrate --seed 运行 php artisan passport:install 运行 php artisan storage:link

此时我收到无法创建符号链接的错误,所以我在 Stack Overflow 中搜索并发现以管理员身份重新启动。我以管理员身份运行 cmder 并且在过去 30 分钟内一直心脏病发作,因为它告诉我我必须流浪,当我这样做时它找不到我的盒子,甚至在做 vagrant box list

我不会得到任何结果,它想重新下载需要 3 多个小时。 我刚刚在没有管理员的情况下重新启动,我发现我的 Laravel/Homestead 框已列出,所以我假设它是为我的用户而不是管理员安装的,所以我想我无法以管理员身份运行 cmder。

所以现在我尝试再次连接,我不确定应该在哪个文件夹中运行 vagrant 命令,但我的 C:\Jack\Homestead 文件夹中似乎只有一个 VagrantFile,所以如果我运行 vagrant 命令在其他任何地方,它都会给我一个错误,即需要一个流浪环境,等等。

所以我在我的宅基地文件夹中尝试了以下内容:

    vagrant ssh - 我明白了:

    VM 必须正在运行才能打开 SSH 连接。运行 `vagrant up 启动虚拟机。

    (在我的 VirtualBox Manager 中,我看到我的 homestead-7 虚拟机正在运行)

    vagrant up - 我明白了:

    Bringing machine 'homestead-7' up with 'virtualbox' provider...
    ==> homestead-7: Importing base box 'laravel/homestead'...
    ==> homestead-7: Matching MAC address for NAT networking...
    ==> homestead-7: Checking if box 'laravel/homestead' is up to date...
    A VirtualBox machine with the name 'homestead-7' already exists.
    Please use another name or delete the machine with the existing
    name, and try again.
    

    vagrant ssh 'homestead-7'我也明白了

    VM 必须正在运行才能打开 SSH 连接。运行vagrant up 启动虚拟机。

问题是,一旦我连接,我认为我仍然会遇到同样的问题:

php artisan storage:link

所以我的问题如下:

    我的项目 myapp 文件夹应该放在哪里,应该放在 C:\Jack\myapp 的位置还是应该放在 C:\Jack\Homestead\myapp 的位置 VagrantFile 是否应该只在我的 Homestead 文件夹中,我应该从那里运行我的所有 Vagrant 命令?喜欢vagrant sshvagrant up 现在我在运行vagrant sshvagrant up 时遇到这些错误,我该如何重新连接 连接后,我假设我在运行 php artisan storage:link 时会遇到同样的错误,因为以管理员身份运行似乎不起作用我该怎么办? 我假设我应该在 myapp 文件夹中运行 git initheroku create 是否正确?

【问题讨论】:

【参考方案1】:

1) 我总是将我的应用程序文件夹保存在 Homestead 文件夹之外。您的 Homestead 文件夹包含一个 git 项目,因此如果您将应用程序放入其中,则应将该文件夹包含在 .gitignore 文件中。我认为如果您将应用程序放在其他地方会更容易。

2) Vagrantfile 应该只在你的 Homestead 文件夹中(c:\Jack\Homestead)。您应该在 Homestead 文件夹中运行所有 vagrant 命令。

3) 当我尝试将“vagrant up”运行到使用相同框名称“homestead-7”的项目时,我曾经收到此错误。如果您有版本控制,请检查文件 c:\Jack\Homestead\.vagrant\machines\homestead-7\virtualbox\id 是否已更改。如果是这样,请尝试恢复旧值并再次运行“vagrant up”。

4) 你是在windows环境下运行的吧?带有 vagrant 中的符号链接的 Windows 可能有点喜怒无常。如果你尝试 npm install ,你会遇到同样的问题。我解决这个问题的方法是在虚拟机之外,在主机 pc 中,在应用程序文件夹的根目录内运行 npm(和 php artisan storage:link)。提醒一下:要做到这一点,您需要在主机中安装 php。

5) 所有与应用程序(而非虚拟机)相关的命令都应在虚拟机、文件夹 app(例如:/home/vagrant/code/myapp)或主机的 app 文件夹内运行机器。这两个文件夹是同步的,感谢 vagrant。

【讨论】:

嗨,非常感谢您的回答我有几个问题,关于 3)我从 VBox 和文件夹中删除了 VM,然后 vagrant up 正常工作,我现在必须重新运行我之前运行过的所有命令,例如 -composer install, -php artisan key:generate & php artisan migrate --seed???? 4) 我没有安装 php,我有一个叫做 XAMP 的东西,或者我可以安装 php,但是我还必须安装 apache 和其他东西吗????如果是这样还是有更简单的方法??? 5)您将文件映射到 home/vagrant/code/myapp 而我已经完成了 home/vagrant/myapp 将它放在 /code 文件夹中会改变什么吗?这是标准吗?我的主机位置是 C:\Jack\myapp 如果我在上面从到 home/vagrant/code/myapp 我是否也应该将主机位置更改为 c:\Jack\code\myapp?? 您不必再次运行 key:generate,但肯定需要运行 migrate --seed 因为如果您破坏了您的机器,您也将丢失您的虚拟数据库。你只需要php。检查此答案以使用 XAMMP 的 php 运行命令:***.com/questions/10753024/… 关于5,你现在的路很好,可以继续这样使用。文件夹之间的链接在 Homestead.yaml 中指定,所以你很好。

Vagrant Share - Laravel Homestead,Ubuntu

】VagrantShare-LaravelHomestead,Ubuntu【英文标题】:VagrantShare-LaravelHomestead,Ubuntu【发布时间】:2019-08-0203:34:00【问题描述】:当我运行vagrantshareid-goes-here--http80时,终端卡住并且没有显示URL:==>homestead-7:Detectingnetworkinformationformachine. 查看详情

在 PhpStorm 中为 Laravel Homestead vagrant VM 运行测试

】在PhpStorm中为LaravelHomesteadvagrantVM运行测试【英文标题】:RunningtestsinPhpStormforLaravelHomesteadvagrantVM【发布时间】:2016-10-1200:51:32【问题描述】:我基于此安装了全新的LaravelHomestead:https://laravel.com/docs/master/homestead还有一个使用Lara... 查看详情

Laravel/Homestead vagrant box 从系统中消失了

】Laravel/Homesteadvagrantbox从系统中消失了【英文标题】:Laravel/Homesteadvagrantboxdisapearedfromsystem【发布时间】:2019-04-2410:56:44【问题描述】:我有一个已经完成的php项目,对于初学者,我必须将它放在服务器上(计划使用Heroku)。我... 查看详情

Laravel Homestead 挂在 SSH 身份验证方法:mac 上的私钥

】LaravelHomestead挂在SSH身份验证方法:mac上的私钥【英文标题】:LaravelHomesteadhangsatSSHauthmethod:privatekeyonmac【发布时间】:2017-04-1911:52:03【问题描述】:我似乎无法让Homestead运行。它挂在SSH身份验证方法:私钥。Homestead虚拟机启动... 查看详情

Laravel Homestead 安装共享文件夹问题

】LaravelHomestead安装共享文件夹问题【英文标题】:LaravelHomesteadinstallationsharedfolderissue【发布时间】:2017-08-0503:45:15【问题描述】:我正在尝试安装最后一个laravel宅基地。将repo克隆到~/Homestead并启动vagrantup。我有这个错误:==>h... 查看详情

phpMyAdmin 挂在 Laravel Homestead 上

】phpMyAdmin挂在LaravelHomestead上【英文标题】:phpMyAdminhangsonLaravelHomestaed【发布时间】:2020-04-2523:47:47【问题描述】:我正在使用LaravelHomestead和Vagrant。我想使用phpMyAdmin,所以我做了以下操作:在https://www.phpmyadmin.net/下载最新版本... 查看详情

在 PhpStorm 2016.1 上使用 Laravel / Homestead 启用 PHPUnit 以

】在PhpStorm2016.1上使用Laravel/Homestead启用PHPUnit以【英文标题】:EnablePHPUnitwithLaravel/HomesteadonPhpStorm2016.1to【发布时间】:2016-09-0922:32:06【问题描述】:我正在研究vagrant/homestead,并配置了一个盒子。我可以在PhpStorm中启用Xdebug!现... 查看详情

homestead安装(代码片段)

所谓Homestead,其实就是一个虚拟机镜像。为什么用它?它的优点可以去自行百度。(虽然我还是用了集成环境xampp,但是我还是不推荐的,特别是统一开发环境。或者去使用诸如Laravel的框架,项目基本都跑起来= =,如少一些... 查看详情

Laravel+Homestead+nginx 代理:在我的路线中获取正确的 url

】Laravel+Homestead+nginx代理:在我的路线中获取正确的url【英文标题】:Laravel+Homestead+nginxproxy:Gettingtherighturlinmyroutes【发布时间】:2016-08-0111:46:52【问题描述】:我有一个带有Laravel5项目的专用服务器,并且Homestead已正确安装和工... 查看详情

使用 Laravel Homestead:'没有指定输入文件'

】使用LaravelHomestead:\\\'没有指定输入文件\\\'【英文标题】:UsingLaravelHomestead:\'noinputfilespecified\'使用LaravelHomestead:\'没有指定输入文件\'【发布时间】:2014-08-0802:09:42【问题描述】:我是使用Laravel和Homestead的新手,如果能提供... 查看详情

Laravel Homestead 虚拟主机配置

】LaravelHomestead虚拟主机配置【英文标题】:LaravelHomesteadvhostconfiguration【发布时间】:2014-10-0518:21:44【问题描述】:我正在使用Laravel宅基地。对于我需要特殊vhost配置的项目,我应该在哪里定义它?【问题讨论】:【参考方案1】... 查看详情

Laravel/Homestead - 无法连接到数据库

】Laravel/Homestead-无法连接到数据库【英文标题】:Laravel/Homestead-can\'tconnecttotheDB【发布时间】:2017-11-2115:53:21【问题描述】:我已经在我的机器上安装了宅基地并从远程存储库克隆了一个项目,现在我正在尝试为我的项目创建一... 查看详情

新的 laravel/homestead 配置中的 GitHub OAuth 令牌的 Composer 错误

】新的laravel/homestead配置中的GitHubOAuth令牌的Composer错误【英文标题】:ComposererrorwithGitHubOAuthtokenonfreshlaravel/homesteadprovision【发布时间】:2015-10-2408:03:12【问题描述】:Fresh安装了一个laravel/homesteadvagrantbox,按照文档,运行init.sh,... 查看详情

为啥 laravel homestead 没有运行 Apache

】为啥laravelhomestead没有运行Apache【英文标题】:WhylaravelhomesteadisnotrunningApache为什么laravelhomestead没有运行Apache【发布时间】:2015-04-2519:30:27【问题描述】:显然,我的Laravel项目确实需要.htaccess规则,而Nginx对我来说似乎不是最佳... 查看详情

使用 Laravel Homestead:“没有指定输入文件”

】使用LaravelHomestead:“没有指定输入文件”【英文标题】:UsingLaravelHomestead:"noinputfilespecified"【发布时间】:2020-06-0323:39:13【问题描述】:我是新手,所以我花了一些时间来设置,但是按照官方指南,我仍然不知道我哪... 查看详情

Laravel Homestead - MySQL 默认凭据和数据库

】LaravelHomestead-MySQL默认凭据和数据库【英文标题】:LaravelHomestead-MySQLdefaultcredentialsanddatabase【发布时间】:2014-10-1915:09:36【问题描述】:我已设置Laravel并尝试运行artisanmigrate命令,但出现以下错误[PDOException]SQLSTATE[HY000][2002]连接... 查看详情

在 Homestead 的全新 Laravel 安装中连接到 MySQL 不清楚

】在Homestead的全新Laravel安装中连接到MySQL不清楚【英文标题】:ConnectingtoMySQLinbrandnewLaravelinstallationwithHomesteadunclear【发布时间】:2015-10-1008:16:56【问题描述】:由于我是Laravel/Homestead环境的新手,所以我有一些问题。问题1)在文... 查看详情

Laravel Homestead 中的 PHPUnit 测试失败

】LaravelHomestead中的PHPUnit测试失败【英文标题】:FailingPHPUnittestsinLaravelHomestead【发布时间】:2017-05-2408:58:22【问题描述】:我有一个全新的laravel/framework:master克隆在HomesteadVM(在Mac主机上)上运行。我安装了依赖项(composerinstall-... 查看详情