Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vapor部署到Heroku,日志错误代码=H10 desc=";“应用程序崩溃”;方法=获取_Heroku_Swift4_Vapor - Fatal编程技术网

Vapor部署到Heroku,日志错误代码=H10 desc=";“应用程序崩溃”;方法=获取

Vapor部署到Heroku,日志错误代码=H10 desc=";“应用程序崩溃”;方法=获取,heroku,swift4,vapor,Heroku,Swift4,Vapor,经过多次研究和尝试,我仍然无法解决这个问题。我使用Vapor工具箱:3.1.2和Vapor框架:2.3.0和Swift4.0.3(macos high sierra上的Xcode 9.2)构建了一个简单的网站(没有数据库)。但是,在运行vapor heroku push成功后,我尝试转到heroku dashboard打开我的网站,但没有成功。我尝试运行heroku日志,结果是崩溃了: 2017-12-26T09:04:10.000000+00:00 app[api]: Build succee

经过多次研究和尝试,我仍然无法解决这个问题。我使用
Vapor工具箱:3.1.2
Vapor框架:2.3.0
和Swift
4.0.3
(macos high sierra上的Xcode 9.2)构建了一个简单的网站(没有数据库)。但是,在运行
vapor heroku push
成功后,我尝试转到
heroku dashboard
打开我的网站,但没有成功。我尝试运行heroku日志,结果是崩溃了:

2017-12-26T09:04:10.000000+00:00 app[api]: Build succeeded
2017-12-26T09:10:00.192686+00:00 heroku[web.1]: Process exited with status 127
2017-12-26T09:10:00.207462+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-26T09:10:00.210981+00:00 heroku[web.1]: State changed from crashed to starting
2017-12-26T09:10:03.369454+00:00 heroku[web.1]: Starting process with command `leeswift --env=production --port=19489`
2017-12-26T09:10:00.072884+00:00 app[web.1]: bash: leeswift: command not found
2017-12-26T09:10:05.460027+00:00 app[web.1]: bash: leeswift: command not found
2017-12-26T09:10:05.560609+00:00 heroku[web.1]: Process exited with status 127
2017-12-26T09:10:05.594754+00:00 heroku[web.1]: State changed from starting to crashed
2017-12-26T09:11:28.858638+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=leeswift.herokuapp.com request_id=0eab887e-dba0-488e-b3f6-899de07898d6 fwd="118.69.108.38" dyno= connect= service= status=503 bytes= protocol=https
请帮我修一下

bash:leeswift:未找到命令

您的heroku buildpack找不到为vapor应用程序生成的可执行文件。这可能与应用程序的名称/路径有关。我还没有使用heroku,但是Swift会根据您的编译模式在
.build/release/
.build/debug/
中生成它的可执行文件

bash:leeswift:未找到命令


您的heroku buildpack找不到为vapor应用程序生成的可执行文件。这可能与应用程序的名称/路径有关。我还没有使用heroku,但是Swift会根据您的编译模式,在
.build/release/
.build/debug/
中生成它的可执行文件。

我认为“Procfile”文件中有错误。例如,这是我的:

web: Run --env=production --workdir=./ --config:servers.default.port=$PORT

我认为“Procfile”文件中有一个错误。例如,这是我的:

web: Run --env=production --workdir=./ --config:servers.default.port=$PORT

请按照以下步骤解决您的问题

如何在Vapor框架的帮助下创建swift后端API。市场上还提供了另一个框架。但我们选择的是斯威夫特蒸汽

让我们开始吧

在系统中安装vapor

第一步。运行下面的命令安装vapor

brew安装vapor/tap/vapor测试版
检查vapor是否在命令下安装或运行

vapor测试版--帮助
这些将有助于掌握蒸汽

仅当您在项目目录中时才使用。 你可以

#创建的vapor项目
vapor新myProjectName
#建立蒸汽项目
蒸汽生成
#运行蒸汽项目
蒸汽流
#您可以配置Xcode。您应该在创建的项目目录中。
蒸气Xcode
在项目文件中进行更改或为更新添加新功能后,您可以使用下面的命令

蒸汽Xcode 您可以通过本地服务器测试API运行。出来的是“你好,世界”

curlhttp://localhost:8080/hello 
======================================================================PostgreSQL安装程序================================================

设置本地PrortgeSQL。在命令下面运行

brew安装postgresql
启动本地数据库服务器。在命令下面运行

pg_ctl-D/usr/local/var/postgres启动
停止本地数据库服务器。在命令下面运行

pg_ctl-D/usr/local/var/postgres-stop
当您希望在启动时将PostgreSQL作为后台服务运行时,可以使用brew server。在命令下面运行

brew服务启动postgresql
让我们从这里开始Postgres

psql-d postgres
通过运行以下命令创建数据库:

创建数据库数据库名称
创建数据库ashi应用程序#实际命令
通过在下面运行命令创建用户:-通过在下面运行命令授予该用户所需的权限

创建用户用户名
创建用户ashi应用程序用户#实际命令
将数据库databaseName上的所有权限授予userName
#实际指挥
将数据库ASI应用程序的所有权限授予ASI应用程序用户
======================================================================PostgreSQL安装程序================================================

===============================================================================在Heroku上部署新应用程序================================================

在没有数据库的Heroku上部署新的swift vapor应用程序

假设您已经创建了没有数据库的Vapor项目

第一步。在cd MyApp上导航

cd-myApp
#实际指挥
阿什api光盘
第二步。在根项目目录中创建swift版本文件。在终端上运行以下命令

echo 5.1.3>.swift版本
第三步。在根项目目录中创建Procfile文件。在终端上运行以下命令

echoweb:Run service--env production--hostname 0.0.0.0--port$port>Procfile
第四步。通过下面的命令添加文件git和commit

git添加。
git提交-m“应用程序设置”
第五步。您应该通过下面的命令生成linux测试文件

swift测试——生成linuxmain
第六步。通过下面的命令在git中再次修改添加

git添加。
git提交-m“测试设置”
第七步。登录Heroku。需要在heroku上创建应用程序进行部署。所以我们登录了heruko。通过运行下面的命令,我们可以登录

heroku login
第八步。登录完成后,创建heroku应用程序。名称必须是唯一的,我们最喜欢的是app appname

heroku应用程序:创建myAppName heroku应用程序:创建ashi api#实际命令 第九步。使用应用程序添加swift构建包。为了在此基础上进行编译,我们必须添加buildback。Heroku不支持swift的内置包

heroku构建包:设置https://github.com/vapor-community/heroku-buildpack -我的项目 #实际指挥 heroku构建包:集https://github.com/vapor-community/heroku-buildpack -阿什api 第十步。查找服务器上的命令推送更改

git推送heroku主机
现在您的应用程序和API将可用于测试

===============================================================================在Heroku上部署新应用程序================================================

==============================使用已部署的应用程序和下一版本的部署设置数据库==================================

第一步。进行数据库配置。用postgreSQL替换sqlite数据库。因为Heroku不支持sqlite

在App->configure.sw中替换