git - 在 Go 中编写代码的正确方法是什么?

标签 git go server revel

最近发现Revel是一个非常不错的MVC web框架,想尝试一下。 问题是我是 Go 的新手,一切似乎都有点不同。

使用 PHP 时,我只是将文件放入 /var/www/ 中文件夹,或者使用一些 IDE,然后我可以打开浏览器并实时测试它们。使用 RoR 或 Node.js 甚至更容易,我只需转到本地项目文件夹(无论在哪里),在终端中运行一个命令并且已经可以在 localhost:3000 上看到结果.

这样,我在本地机器上就有了以下结构:

home
└── mark
    └── code
        ├── php
        │   └── my_php_app
        └── ruby
            └── my_ruby_app

它们都是通过 git 同步的。然后,当我想在我的远程机器上部署时,我只需将它们 pull 入 /var/www/ 即可。并设置 Apache2/Nginx

但是我如何使用 Go 应用程序做到这一点? 我在家里的 Linux 机器和 VPS 上都安装了 Go。当我打开 ~/code/go/mygoapp并尝试使用 revel run 运行它, 它说在 GOPATH 中找不到它.所以,我假设,我需要将我所有的 Go 项目与我的其他项目分开,在 GOPATH 中, 这可能是 /usr/local/go/src/~/gocode/src/ .

问题是:

  1. 如果我想将所有 Go/Revel 项目保留在 go 中,我该怎么办?文件夹以及 phpruby在这样的本地机器上:

    home
    └── mark
        └── code
            ├── go
            │   └── my_revel_app
            ├── php
            │   └── my_php_app
            └── ruby
                └── my_ruby_app
    
  2. 以及如何以正确的方式将它们实际部署到我的远程服务器上?

  3. 如果我仍然需要为此使用 GOPATH,我该如何命名包?是GOPATH/src/mygoapp , GOPATH/src/mark/mygoappGOPATH/src/bitbucket.org/mark/mygoapp (虽然这个 repo 是私有(private)的)?

我知道,这可能是一个菜鸟问题,但我看不出这里有逻辑。即使是简单的 Go 程序,我也不需要将它们放到 GOPATH 中才能运行。

最佳答案

在包含go源代码的GOPATH中添加目录(工作区),并符合结构src, pkg, bin。您可以在 GOPATH 中拥有任意数量的 Go 工作空间。在您的系统上相应地定义变量。您服务器上的 GOPATH 很可能与您本地机器上的不同。

您可以使用git 来共享您的项目。在github或者bitbucket上创建账号,同步。

您的 GOPATH 指向工作区。第一个用于存储 go get 包。

关于git - 在 Go 中编写代码的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316666/

相关文章:

git - 致命 : could not create work tree dir <repo-name>. 文件存在

node.js - 使用 MongoDB 数据库部署 Node.js API

java - 如何过滤Eureka服务器中的Eureka客户端?

git - 如何获取在 Git Push 中修改的文件?

git - 如何查找由提交消息更改的文件

git - 显示我是个人资料合作者的存储库

pointers - 如何在双链表中获取元素值的指针(go-lang)

interface - 基于相同接口(interface)的混合类型列表

sorting - 在 Golang 中使用 map

php - $_SERVER ['REMOTE_ADDR' ] 没有在 WordPress 插件中提供 IP 地址