在Ubuntu core (snappy)上安装Go编程语言

3

我尝试在Ubuntu Core (snappy)上安装Go语言,以创建一个Web服务器。该怎么做?我遇到了下载go-lang存档的问题,因为Ubuntu Core中没有'wget'。有什么解决办法吗?


你可以使用浏览器下载存档。 - kostya
不,我的意思是从命令行执行。 - nnm
也许已经安装了 curl,你可以使用它来代替 wget。或者直接安装 wget - kostya
curl 也没有安装。我尝试在 snappy 上搜索“wget”软件包(snappy search wget),但没有结果。 - nnm
1
很难确切地了解您的用例,但如果您正在尝试将Go Web服务器部署到Ubuntu服务器,则值得注意的是,您不需要安装“go”来运行Go二进制文件。如果您的问题只是:您不知道如何将任何文件移动到服务器... ftp?链接? - AndrewN
2个回答

4
一般来说,Snappy 应该被视为部署目标而不是开发系统。在这方面它类似于 Android 或 iOS,依赖第二个系统进行开发。
因此,在 Snappy 上部署 Go 应用程序的常规方式可能如下:
1. 在您的开发系统上构建应用程序。 2. 将二进制文件打包成 .snap 包。 3. 在 Snappy 上部署包(通过商店发布或手动将其复制到目标系统)。
步骤(1)和(2)最好使用 Snapcraft 工具完成,该工具内置支持构建 Go 应用程序。最后可以使用目标系统上的 snappy install 命令完成。
需要注意的一点是,Snapcraft 目前没有提供任何有助于交叉编译的功能,因此如果您选择的开发系统具有不同的架构,则可能会遇到问题(例如,如果您正在 x86 上开发并希望部署到 Raspberry Pi)。
如果是这种情况,其中一个选择是使用LXC容器在目标系统上创建传统的Ubuntu系统容器。您应该能够使用以下命令进行设置(基于this post):
sudo snappy install lxd
lxc remote add images images.linuxcontainers.org
lxc launch images:ubuntu/vivid/armhf dev

您可以使用以下命令在容器中获取 shell:
lxc exec dev bash

从那里开始,您可以安装Go和Snapcraft,并构建一个ARM版本的软件包,准备在容器之外(或其他ARM设备上)安装。


谢谢!我决定在Snappy上使用Docker作为容器,然后在其中安装nginx作为Web服务器。基本上,我想创建一个使用Ubuntu-core作为操作系统的环境,并将该环境作为Web服务器。我做得对吗? - nnm
这绝对是在Snappy上运行Web应用程序的一种方式。在您的问题中,您询问了如何在Snappy上运行Go应用程序,因此我回答了如何直接部署到该平台。 - James Henstridge

1
另一个选项是使用经典模式:

$ sudo snap install classic --edge --devmode
$ classic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接