我有一台 Windows 笔记本和一台 n150 小主机. 由于使用 goland 开发时需要用到 make 命令,而 Windows 没有这个命令, 但我不太想安装 wsl 或虚拟机进行开发. goland 虽然有远程开发功能,需要在远端安装 goland, 小主机肯定吃不消. 所以想问下有没有一种方法可以远程在小主机上使用 make 命令, 然后同步到笔记本上的方法.
1 hwdq0012 195 天前 vs code + remote ssh ,只用来编译, 用 goland 开发,用 vs code 编译 |
![]() | 2 javalaw2010 195 天前 因为 make 所以选择远程开发真是奇怪的想法。 1. 在 windows 上安装 make 2. 从 make 迁移到更现代的 task 。 3. 使用 vscode 。 不管哪个都要比你想选择的远程方案好吧。 |
![]() | 3 learnshare 195 天前 VS Code 支持 Remote Development ,局域网内效果还可以。其它开发工具可能也有类似的功能 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack |
![]() | 4 tangqiu0205 OP @hwdq0012 #1 对哦 这个方法可以 |
5 hwdq0012 195 天前 @javalaw2010 他主要是想交叉编译吧 |
![]() | 6 lyxxxh2 195 天前 我还以为是 ssh 远程,看到后面才知道你想干啥。。。 写脚本可以实现 1. 将公钥放到小主机 2. idea 的保存,可以触发脚本。 3. ssh 执行 4. scp 下载到笔记本 |
![]() | 8 rozbo 195 天前 用 just 不好吗,我无意批判 make ,但 just 在我看来比如 make 更现代化 |
![]() | 9 coefu 195 天前 goland 本身就支持远端编译和远端运行,还能远端 debug 。 |
![]() | 10 gongym 195 天前 goland 本身就可以 remote ssh ,压根不需要 vscode ,也不需要安装 goland |
11 wfhtqp 195 天前 用 nvim 把,只需要 lazyvim 就行了 |
12 kneo 195 天前 没看明白你用 make 干啥。正常 Go/Goland 用不着 Make 。 |
13 NotLongNil 195 天前 很好奇,究竟用 make 来干什么,那么多可以替代 make 的工具,为了一碟醋包了一顿饺子 |
14 NotLongNil 195 天前 @hwdq0012 #5 交叉编译跟 make 无关吧 |
![]() | 15 ns09005264 195 天前 远程开发最简单的方式应该是用 rsync 实时同步代码, 然后 1. 现代编辑器(neovim ,helix)、 2. LSP 、 3. 语言工具链, 这三个元素可以随便地、分别地,放在某一端上,最后在能显示的设备上开发。 |
16 zbw0414 195 天前 为什么不装 wsl 呢? 其实你的需求 wsl 是能最好最快解决的. 本地 win 环境开发, goland 也可以指定 wsl 的默认 terminal, 在 wsl 的 terminal 中 make , 只是需要你在 wsl 环境中拉取配置 go 环境就行了 |
17 hwdq0012 195 天前 @NotLongNil 比如远程的设备是个 arm ,他 windows 是 x64,他想在 arm 上面 make |
![]() | 18 bingfengfeifei 195 天前 我一般 Linux 上面开个 samba ,然后 Windows 挂载到一个本地磁盘,然后 GoLand 直接打开这个本地磁盘。 |
![]() | 19 Al0rid4l 195 天前 只是要 make 的话那装个 make 不就完了.. https://gnuwin32.sourceforge.net/packages/make.htm |
![]() | 20 zhujinliang 195 天前 装个 cygwin 或者 msys2 |
21 NotLongNil 195 天前 @hwdq0012 #17 ???交叉编译不是你说的这个吧。 |
22 hwdq0012 194 天前 @NotLongNil 我意思是他不想在 windows 上搞交叉编译, 用 ssh 远程就不用交叉编译了 |
23 Panameragt 194 天前 你最适合 wsl |
![]() | 24 skiy 194 天前 goreleaser 可以了。另外,可以用 just 代替 make 。而且 make 这个跟 go 无关。 |
![]() | 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 |
26 NotLongNil 194 天前 @hwdq0012 #22 那不交叉编译,更不用使用 make 了吧 |