2 回答

TA貢獻(xiàn)1779條經(jīng)驗 獲得超6個贊
一般來說,Snappy 應(yīng)該被視為一個部署目標(biāo)而不是一個開發(fā)系統(tǒng)。這種方式類似于Android或iOS,依賴于第二個系統(tǒng)進(jìn)行開發(fā)。
因此,在 Snappy 上部署 Go 應(yīng)用程序的通常方法是:
在您的開發(fā)系統(tǒng)上構(gòu)建應(yīng)用程序。
將二進(jìn)制文件
.snap
打包為一個包在 Snappy 上部署包(通過商店發(fā)布,或手動將其復(fù)制到目標(biāo)系統(tǒng))。
步驟 (1) 和 (2) 可能最好使用Snapcraft工具完成,該工具內(nèi)置了對構(gòu)建 Go 應(yīng)用程序的支持。最后一個可以使用snappy install
目標(biāo)系統(tǒng)上的命令來完成。
需要注意的一件事是 Snapcraft 還沒有做任何事情來幫助您進(jìn)行交叉編譯,因此如果您選擇的開發(fā)系統(tǒng)具有不同的架構(gòu),您可能會遇到問題(例如,如果您在 x86 上開發(fā)并希望部署到樹莓派)。
如果是這種情況,這里的一種選擇是使用 LXC 容器在目標(biāo)系統(tǒng)上的容器中創(chuàng)建傳統(tǒng)的 Ubuntu 系統(tǒng)。您應(yīng)該能夠使用如下命令進(jìn)行設(shè)置(基于這篇文章):
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,并構(gòu)建準(zhǔn)備安裝在容器外部(或其他 ARM 設(shè)備上)的 ARM 版本的軟件包。

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊
另一種選擇是使用經(jīng)典模式:
$ sudo snap install classic --edge --devmode $ classic
- 2 回答
- 0 關(guān)注
- 305 瀏覽
添加回答
舉報