Dokku将我的Node.js应用程序识别为部署时的Go应用程序

时间:2014-03-27 06:39:02

标签: node.js deployment web-deployment docker

我创建了包含内容的Procfile:

web: node web.js

我的package.json:

{ "name": "app-express", "version": "0.0.1", "private": true, "description": "web panel", "main": "web.js", "scripts": { "start": "node web.js" }, "dependencies": { "async": "^0.2.10", ... }, "engines": { "node": "0.10.x", "npm": "1.2.x" }, "keywords": [ "node" ] }

当我推送我的应用时,我看到了:

> git push digitalocean master
Counting objects: 1207, done. Delta compression using up to 2 threads. Compressing objects: 100% (1141/1141), done. Writing objects: 100% (1207/1207), 5.43 MiB | 360 KiB/s, done. Total 1207 (delta 138), reused 0 (delta 0) -----> Building app-express ... Go app detected remote: ! A .godir is required. For instructions: remote: ! http://mmcgrana.github.io/2012/09/getting-started-with-go-on-heroku To dokku@95.85.*.*:app-express ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'dokku@95.85.*.*:app-express'

我做错了什么?

1 个答案:

答案 0 :(得分:4)

Dokku使用buildstep project来实现对Heroku buildpack支持的支持。 GO buildpack使用以下检测脚本:

https://github.com/kr/heroku-buildpack-go/blob/master/bin/detect

#!/usr/bin/env bash
# bin/detect <build-dir>
set -e

if test -n "$(find "$1" -type f -name '*.go' | sed 1q)"
then echo Go
else echo no; exit 1
fi

您的项目代码中是否有扩展名为“.go”的文件?