goland 如何远程开发? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
tangqiu0205
V2EX    程序员

goland 如何远程开发?

  tangqiu0205 195 天前 3521 次点击
这是一个创建于 195 天前的主题,其中的信息可能已经有所发展或是发生改变。

我有一台 Windows 笔记本和一台 n150 小主机. 由于使用 goland 开发时需要用到 make 命令,而 Windows 没有这个命令, 但我不太想安装 wsl 或虚拟机进行开发. goland 虽然有远程开发功能,需要在远端安装 goland, 小主机肯定吃不消. 所以想问下有没有一种方法可以远程在小主机上使用 make 命令, 然后同步到笔记本上的方法.

第 1 条附言    195 天前
使用 make 主要是为了快捷执行一些命令, 听各位老哥劝, 我还是用 wsl 吧.
26 条回复    2025-04-01 17:38:55 +08:00
hwdq0012
    1
hwdq0012  
   195 天前
vs code + remote ssh ,只用来编译,
用 goland 开发,用 vs code 编译
javalaw2010
    2
javalaw2010  
   195 天前
因为 make 所以选择远程开发真是奇怪的想法。

1. 在 windows 上安装 make
2. 从 make 迁移到更现代的 task 。
3. 使用 vscode 。

不管哪个都要比你想选择的远程方案好吧。
learnshare
    3
learnshare  
   195 天前
VS Code 支持 Remote Development ,局域网内效果还可以。其它开发工具可能也有类似的功能
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
tangqiu0205
    4
tangqiu0205  
OP
   195 天前
@hwdq0012 #1 对哦 这个方法可以
hwdq0012
    5
hwdq0012  
   195 天前
@javalaw2010 他主要是想交叉编译吧
lyxxxh2
    6
lyxxxh2  
   195 天前
我还以为是 ssh 远程,看到后面才知道你想干啥。。。

写脚本可以实现
1. 将公钥放到小主机
2. idea 的保存,可以触发脚本。
3. ssh 执行
4. scp 下载到笔记本
rozbo
    8
rozbo  
   195 天前
用 just 不好吗,我无意批判 make ,但 just 在我看来比如 make 更现代化
coefu
    9
coefu  
   195 天前
goland 本身就支持远端编译和远端运行,还能远端 debug 。
gongym
    10
gongym  
   195 天前
goland 本身就可以 remote ssh ,压根不需要 vscode ,也不需要安装 goland
wfhtqp
    11
wfhtqp  
   195 天前
用 nvim 把,只需要 lazyvim 就行了
kneo
    12
kneo  
   195 天前
没看明白你用 make 干啥。正常 Go/Goland 用不着 Make 。
NotLongNil
    13
NotLongNil  
   195 天前
很好奇,究竟用 make 来干什么,那么多可以替代 make 的工具,为了一碟醋包了一顿饺子
NotLongNil
    14
NotLongNil  
   195 天前
@hwdq0012 #5 交叉编译跟 make 无关吧
ns09005264
    15
ns09005264  
   195 天前
远程开发最简单的方式应该是用 rsync 实时同步代码,
然后
1. 现代编辑器(neovim ,helix)、
2. LSP 、
3. 语言工具链,
这三个元素可以随便地、分别地,放在某一端上,最后在能显示的设备上开发。
zbw0414
    16
zbw0414  
   195 天前
为什么不装 wsl 呢? 其实你的需求 wsl 是能最好最快解决的.
本地 win 环境开发, goland 也可以指定 wsl 的默认 terminal, 在 wsl 的 terminal 中 make , 只是需要你在 wsl 环境中拉取配置 go 环境就行了
hwdq0012
    17
hwdq0012  
   195 天前
@NotLongNil 比如远程的设备是个 arm ,他 windows 是 x64,他想在 arm 上面 make
bingfengfeifei
    18
bingfengfeifei  
   195 天前
我一般 Linux 上面开个 samba ,然后 Windows 挂载到一个本地磁盘,然后 GoLand 直接打开这个本地磁盘。
Al0rid4l
    19
Al0rid4l  
   195 天前
只是要 make 的话那装个 make 不就完了..
https://gnuwin32.sourceforge.net/packages/make.htm
zhujinliang
    20
zhujinliang  
   195 天前
装个 cygwin 或者 msys2
NotLongNil
    21
NotLongNil  
   195 天前
@hwdq0012 #17 ???交叉编译不是你说的这个吧。
hwdq0012
    22
hwdq0012  
   194 天前
@NotLongNil 我意思是他不想在 windows 上搞交叉编译, 用 ssh 远程就不用交叉编译了
Panameragt
    23
Panameragt  
   194 天前
你最适合 wsl
skiy
    24
skiy  
   194 天前
goreleaser 可以了。另外,可以用 just 代替 make 。而且 make 这个跟 go 无关。
yougg
    25
yougg  
   194 天前
不要安装 git for windows, 其包含的执行程序命令不全, 也没有包管理工具

安装 msys2,推荐安装到 D:\msys64\目录中,防止在 C:\msys64\目录中产生访问权限问题

将 msys2 的 bin 路径添加到系统环境变量 Path 中

```
D:\msys64\usr\bin
D:\msys64\ucrt64\bin
D:\msys64\mingw64\bin
D:\msys64\mingw32\bin
D:\msys64\clang64\bin
D:\msys64\clang32\bin
```

设置%USERPROFILE%为 Msys2 的 HOME 目录
编辑 D:\msys64\etc\nsswitch.conf 文件, 将 db_home 的值修改为 windows

在 msys2 中使用 pacman 包管理工具安装 git,make 等命令

```shell
pacman -Syyuu
pacman -S vim git make tree openbsd-netcat mingw-w64-ucrt-x86_64-diffutils mingw-w64-ucrt-x86_64-fastfetch mingw-w64-ucrt-x86_64-graphviz mingw-w64-ucrt-x86_64-jq
```

GoLand 中配置终端命令解释器为 Msys2 的 bash
Shell 路径参数设置为 D:\msys64\usr\bin\bash.exe --login -i
NotLongNil
    26
NotLongNil  
   194 天前
@hwdq0012 #22 那不交叉编译,更不用使用 make 了吧
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4395 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 25ms UTC 01:01 PVG 09:01 LAX 18:01 JFK 21:01
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86