【问题标题】:artisan not found when migrate with heroku使用heroku迁移时找不到工匠
【发布时间】:2019-12-27 19:16:46
【问题描述】:

我将 laravel 应用部署到 heroku。 运行 migrate 给我一个错误。

heroku run 'php artisan migrate' --app heroku-app-name

错误

无法打开输入文件:artisan

“ls”被执行以调查原因。

vagrant@homestead:~/code$ heroku run --app heroku-app-name "ls"
 ›   Warning: heroku update available from 7.30.1 to 7.35.1.
Running ls on ⬢ heroku-app-name... up, run.1296 (Free)
Procfile  code  composer.json  index.php  vendor

该项目是一个 laravel 应用程序。我认为这个目录的差异是错误的原因。
但我不知道如何解决它。

【问题讨论】:

  • 为什么应用在code下?通常它与composer.json 在同一目录中
  • @apokryfos 这当然很奇怪。在部署之前它在代码中。在调查解决方案时,您可能已经做了额外的工作。是这个原因吗?
  • 如果没有额外的配置,这个结构很可能无法工作,即修改composer.json psr-4 自动加载器以从code 子目录加载App 命名空间并从code 运行artisan子目录也是如此(因为这可能是它现在所在的位置)。我不确定此目录结构更改是否是您故意的,或者是否是 heroku 所做的,但我建议尽可能将结构恢复为默认值

标签: php laravel heroku laravel-artisan


【解决方案1】:

让我们试试这个:

heroku 运行 /app/php/bin/php /app/www/artisan migrate --app heroku-app-name

在上面的命令中,artisan 文件将位于你的 Laravel 项目的根目录,所以将 '/app/www/artisan' 替换为 'project root path'/artisan

【讨论】:

  • 谢谢 该网站通过组织目录工作
猜你喜欢
  • 2015-08-12
  • 2016-07-08
  • 2018-09-26
  • 1970-01-01
  • 2021-02-28
  • 2016-02-22
  • 2019-04-22
  • 2018-04-23
  • 2018-12-02
相关资源
最近更新 更多