在本文中,我们将为您详细介绍Windows+Linux系统下Go语言环境安装配置过程的相关知识,并且为您解答关于linuxgo语言安装的疑问,此外,我们还会提供一些关于AdDuplex:Windows
在本文中,我们将为您详细介绍Windows+Linux系统下Go语言环境安装配置过程的相关知识,并且为您解答关于linux go语言安装的疑问,此外,我们还会提供一些关于AdDuplex:Windows 10 21H1 和 Windows 11 首次进入快速增、C# windows 窗体应用程序 Word Interop 适用于 Windows 7 但不适用于 Windows 10、Linux/Wine:windows 应用程序启动 windows 控制台命令并在 windows 上等待时在 linux 上不等待:如何修复?、MariaDB docker 从主机 Windows 10 和 Linux 访问 更新您的命令以在 Ubuntu 系统中的 docker 中运行 mysql:在 Windows 和 Linux 中检查 WSL 网络适配器的 IPv4 地址从windows连接到linux服务器Linux 上的 Docker 与 Windows 上的对比的有用信息。
本文目录一览:- Windows+Linux系统下Go语言环境安装配置过程(linux go语言安装)
- AdDuplex:Windows 10 21H1 和 Windows 11 首次进入快速增
- C# windows 窗体应用程序 Word Interop 适用于 Windows 7 但不适用于 Windows 10
- Linux/Wine:windows 应用程序启动 windows 控制台命令并在 windows 上等待时在 linux 上不等待:如何修复?
- MariaDB docker 从主机 Windows 10 和 Linux 访问 更新您的命令以在 Ubuntu 系统中的 docker 中运行 mysql:在 Windows 和 Linux 中检查 WSL 网络适配器的 IPv4 地址从windows连接到linux服务器Linux 上的 Docker 与 Windows 上的对比
Windows+Linux系统下Go语言环境安装配置过程(linux go语言安装)
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
1. Windows安装配置
1️⃣ 下载SDK
SDK
的全称是Software Development Kit(软件开发工具包) ,包含了对应开发语言的工具包
- 国外官方:https://golang.org/dl/
- 中文镜像:https://golang.google.cn/dl/
- 中文网站:https://studygolang.com/dl(推荐)
Windows 下:根据自己系统是 32 位还是 64 位进行下载
- 32 位系统:windows-386.zip
- 64 位系统:windows-amd64.zip
下载后解压得到以下目录
目录中各个文件夹的含义如下表所示
目录名 | 说明 |
---|---|
api | 每个版本的 api 变更差异 |
bin | go 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt) |
doc | 英文版的 Go 文档 |
lib | 引用的一些库文件 |
misc | 杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等 |
pkg | Windows 平台编译好的中间文件 |
src | 标准库的源码 |
test | 测试用例 |
2️⃣ 配置环境变量
环境变量 | 说明 |
---|---|
GOROOT |
指定SDK的安装路径 export GOROOT=/usr/local/bin |
GOPATH |
工作目录,将来我们的go项目的工作路径 export GOPATH=$HOME/go |
PATH |
添加SDK的/bin目录到系统环境变量 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin |
系统变量中添加GOROOT
对应SDK的安装路径
然后添加GOPATH
对应工作目录
最后在Path中添加SDK的/bin目录
最后cmd中输入go version
/go env
看是否配置成功,出现如下结果则成功
C:\Users\zsr204>go version go version go1.16.3 windows/amd64 C:\Users\zsr204>go env set GO111MODULE= set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\zsr204\AppData\Local\go-build set GOENV=C:\Users\zsr204\AppData\Roaming\go\env set GOEXE=.exe set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GOMODCACHE=D:\学习\Go project\pkg\mod set GONOPROXY= set GONOSUMDB= set GOOS=windows set GOPATH=D:\学习\Go project set GOPRIVATE= set GOPROXY=https://proxy.golang.org,direct set GOROOT=D:\Go Environment\go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=D:\Go Environment\go\pkg\tool\windows_amd64 set GOVCS= set GOVERSION=go1.16.3 set GCCGO=gccgo set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD=NUL set CGO_CFLAGS=-g -O2 set CGO_CPPFLAGS= set CGO_CXXFLAGS=-g -O2 set CGO_FFLAGS=-g -O2 set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\zsr204\AppData\Local\Temp\go-build3653787397=/tmp/go-build -gno-record-gcc-switches
3️⃣ 配置go代理
通过 go get
命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生
goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。
配置方式:
1. 右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2. 在 “[你的用户名]的用户变量” 中点击 ”新建“ 按钮
3. 在 “变量名” 输入框并新增 “GOPROXY”
4. 在对应的 “变量值” 输入框中新增 “https://goproxy.io,direct”
5. 最后点击 “确定” 按钮保存设置
再次用go env
命令即可看到配置的代理
2. Linux安装配置
1️⃣ 下载SDK
这里的环境为腾讯云CentOS7服务器,推荐到Go语言中文网下载
国外官方:https://golang.org/dl/
中文镜像:https://golang.google.cn/dl/
中文网站:https://studygolang.com/dl(推荐)
下载后通过xftp上传到云服务器
然后解压到usr/local
目录下
tar -zxvf go1.16.4.linux-amd64.tar.gz -C /usr/local
2️⃣ 配置环境变量
环境变量 | 说明 |
---|---|
GOROOT |
指定SDK的安装路径 export GOROOT=/usr/local/bin |
GOPATH |
工作目录,将来我们的go项目的工作路径 export GOPATH=$HOME/go |
PATH |
添加SDK的/bin目录到系统环境变量 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin |
然后修改根目录下的bashrc
文件
[root@zsr ~]# vim ~/.bashrc [root@zsr ~]# cat ~/.bashrc # .bashrc # User specific aliases and functions alias rm=''rm -i'' alias cp=''cp -i'' alias mv=''mv -i'' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # 设置go语言的路径 export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
然后重新加载该文件
[root@zsr ~]# source ~/.bashrc
到此环境变量配置完毕,然后输入go version
/go env
指令查看是否安装成功
[root@zsr go]# go version go version go1.16.4 linux/amd64 [root@zsr go]# go env GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/root/.cache/go-build" GOENV="/root/.config/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/root/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/root/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.16.4" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/dev/null" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build2887101268=/tmp/go-build -gno-record-gcc-switches"
3️⃣ 配置go代理
通过 go get
命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生
goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。
配置方式:
# 设置你的 bash 环境变量 echo "export GOPROXY=https://goproxy.io,direct" >> ~/.bashrc && source ~/.bashrc
再次用go env
命令即可看到配置的代理
以上就是Windows+Linux系统下Go语言环境搭建配置过程的详细内容,更多关于Go语言环境搭建的资料请关注其它相关文章!
- GO语言运行环境下载、安装、配置图文教程
- linux中用shell快速安装配置Go语言的开发环境
- Ubuntu下安装Go语言开发环境及编辑器的相关配置
- Windows下使用go语言写程序安装配置实例
- 在go语言中安装与使用protobuf的方法详解
- Go语言运行环境安装详细教程
AdDuplex:Windows 10 21H1 和 Windows 11 首次进入快速增
AdDuplex 关于 Windows 10 统计数据的最后一份报告是几个月前的。从那以后发生了很多事情。因为Windows 10 2004的比例明显缩水,Windows 10 21H1的比例有所增加。
事实上,现在有 26.6% 的用户在使用 Windows 10 21H1。Windows 10 20H2 的份额从 40.1% 下降到 36.3%,而 2004 年的份额从 40.6% 下降到“仅”24.6%。
有趣的是内部版本用户数量的增加。这里的比例通常最多在 0.4% 和 0.7% 之间波动。但现在仅 Windows 11 就已经拥有 0.9% 的份额,Windows 10 Insider 已经拥有 0.2% 的份额。现在已经总结了旧版本的比例。与 1903 年和 1909 年一起是 11.5%。
C# windows 窗体应用程序 Word Interop 适用于 Windows 7 但不适用于 Windows 10
如何解决C# windows 窗体应用程序 Word Interop 适用于 Windows 7 但不适用于 Windows 10
我编写了一个应用程序来帮助用户使用 C# 生成字母。我创建了以富文本格式保存在 sql Server 数据库中的模板。我的开发机器是 Windows 7,我使用 Visual Studio 2019 来编写应用程序。我使用 NuGet 添加 Word 的互操作引用。该应用程序配置为面向 x86 的 Release、平台 Active(Any cpu)。它是一个 ClickOnce 应用程序,从共享驱动器安装在一个单独的目录中,但与保存字母的驱动器相同。
该应用程序在我的机器上正常运行,但在 Windows 10 用户机器上运行不正常。当它尝试保存文件时,她收到一条错误消息,提示“抱歉,我们找不到该文件”。我们都有 Word 2016。两台机器都是 64 位。我将这封信保存为 Word 中的备份,然后导出为 PDF。在导出为 PDF 之前,代码无法保存 Word 文档。请参阅下面的代码片段:
public static void SavetoWord2(string CoverLetter,string LetterText,string FileSave,string BackUpSave,ref string ErrorString)
{
try
{
Microsoft.Office.Interop.Word.Application oWord = new Microsoft.Office.Interop.Word.Application();
string headerfooterFile = Properties.FileResources.headerfooterTemplate;
Document odoc = new Document();
odoc = oWord.Documents.Add(@headerfooterFile);
odoc.Activate();
try
{
Clipboard.Clear();
Clipboard.SetText(CoverLetter,TextDataFormat.Rtf);
odoc.ActiveWindow.Selection.Paste();
Clipboard.Clear();
Clipboard.SetText(LetterText,TextDataFormat.Rtf);
odoc.ActiveWindow.Selection.Paste();
//01/26/2021 JS having trouble with the save on Pam''s machine so going to try to capture the correct error.
try
{
odoc.SaveAs(@BackUpSave);
}
catch (Exception exBU)
{
ErrorString = "Error trying to save " + @BackUpSave + ": " + exBU.Message;
}
try
{
odoc.ExportAsFixedFormat(@FileSave,WdExportFormat.wdExportFormatPDF);
}
catch (Exception exPDF)
{
if (string.IsNullOrEmpty(ErrorString))
{
ErrorString = "Error trying to save " + @FileSave + " PDF: " + exPDF.Message;
}
else
{
ErrorString += " and Error trying to save " + @FileSave + " PDF: " + exPDF.Message;
}
}
}
catch (Exception exInner)
{
ErrorString = exInner.Message;
MessageBox.Show(exInner.Message,Properties.LetterResources.SavetoWord,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
Clipboard.Clear();
oWord.Quit(SaveChanges: 0);
Marshal.FinalReleaseComObject(oWord);
//oWord.Visible = true;
}
catch (Exception ex)
{
ErrorString = ex.Message;
MessageBox.Show(ex.Message,MessageBoxIcon.Error);
}
}
错误发生在 odoc.SaveAs 行上,但仅在从 Windows 10 计算机运行时发生。最初,我使用了我机器上的互操作,但后来将其更改为 NuGet 互操作,但这并没有解决问题。我尝试将 Embed Interop Types 更改为 False 但这并没有解决任何问题,因此我将其改回。互操作引用的别名属性是全局的,特定版本属性是 True。由于富文本,我担心更改文档编写器的类型。应用程序的其余部分对于 Windows 10 用户来说运行良好。有什么想法吗?
解决方法
OpenXML 没有成功,因为它不允许我正确添加标题或导出为 PDF。尽管我非常希望使用 OpenXML,但我最终还是回到了 Word Interop。我能够通过如下设置参考属性来解决这个问题:
嵌入互操作类型 = False 复制本地 = True
现在无论哪个操作系统运行程序,保存都有效。我有上面的部分答案,但忽略了 Copy Local = true 部分。
Linux/Wine:windows 应用程序启动 windows 控制台命令并在 windows 上等待时在 linux 上不等待:如何修复?
如何解决Linux/Wine:windows 应用程序启动 windows 控制台命令并在 windows 上等待时在 linux 上不等待:如何修复??
除了一项功能外,我还使用 Wine 成功运行了 Windows 程序。该程序可以设置为在 texlive 发行版中启动 pdflatex,当它启动时,它等待查看结果是否成功,然后复制/移动文件。但是在 Linux 上,我无法安排它像在 Windows 上那样等待 pdflatex 完成,因此过早地复制/移动文件并且 pdflatex 无法找到它们。
有一个对话框可以用来保存任意命令,当我按下应用程序中的 pdflatex 按钮时,该命令将被执行。我将此对话框指向 Windows 上的 C:\texlive\2020\bin\win32\pdflatex.exe 并且它可以工作。除了不等待的问题外,我成功地放置了这个命令,以便在Linux上使用wine运行pdflatex。
Z:/usr/bin/gnome-terminal --wait -- /home/nonnull/bin/runlatex/runlatex.sh "%f"
通过将 runlatex.sh 中的最后一个命令设为 exec /bin/bash
,终端保持打开状态,因此我可以看到 pdflatex 的所有输出,并知道它正在使用 runlatex.sh 必须找出的正确文件运行通过将传递给它的 Windows 路径转换为其实际路径。 pdflatex 以各种方式抱怨它在那里创建的文件,然后在运行期间不存在。即使终端是打开的,所以没有完成执行,应用程序抱怨 pdflatex 没有正确完成,甚至在 pdflatex 的输出文本完成向下滚动终端之前。当我省略 exec 时,应用程序的行为不会改变终端立即关闭时的命令 pdflatex 完成。
Wine 是怎么回事,命令在完成运行之前不会保持附加状态?我该怎么办?对可以绕过这个困难的命令或机制有什么建议吗?如果需要的话,我准备编写一个 win32 程序来进行调解。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
MariaDB docker 从主机 Windows 10 和 Linux 访问 更新您的命令以在 Ubuntu 系统中的 docker 中运行 mysql:在 Windows 和 Linux 中检查 WSL 网络适配器的 IPv4 地址从windows连接到linux服务器Linux 上的 Docker 与 Windows 上的对比
如何解决MariaDB docker 从主机 Windows 10 和 Linux 访问 更新您的命令以在 Ubuntu 系统中的 docker 中运行 mysql:在 Windows 和 Linux 中检查 WSL 网络适配器的 IPv4 地址从windows连接到linux服务器Linux 上的 Docker 与 Windows 上的对比
事实证明,下面询问的 Docker/Windows 问题的原因是我这边的 Hyper-V 的本地网络问题。所以它与 Windows 和 Linux 上的 Docker 之间的区别无关,也与 MariaDB 没有任何关系。我想删除这个问题,但不鼓励这样做,因为它已经有了答案。
我是 docker 新手,但不是 MysqL 的新手。我想在 Docker 中使用 MariaDB。我在 Windows 10 和 Ubuntu 上都安装了 Docker。
对于 MariaDB 容器,我遵循了此处的描述 https://mariadb.com/kb/en/installing-and-using-mariadb-via-docker/,因为它似乎比此更准确:https://hub.docker.com/_/mariadb。
我使用以下方法创建了一个 MariaDB 容器:
docker run --name mariadb -e MysqL_ROOT_PASSWORD=test -d mariadb:latest
“最新”拉取了 MariaDB 服务器 10.5.8。
我确认在 my.cnf 中启用了通过端口 3306 的 tcp 访问
[client-server]
port=3306
从容器内部运行 MysqL 客户端是可行的
docker exec -it MariaDB MysqL -u root -p
从主机运行 MysqL 客户端
MysqL -h 172.17.0.2 -u root -p
适用于我的 Ubuntu 主机,但不适用于我的 Windows 10 主机。在 Windows 上,该命令会在一段时间后返回,没有任何消息。
你能告诉我原因并帮助我吗?
解决方法
更新您的命令以在 Ubuntu 系统中的 docker 中运行 mysql:
docker run --name mariadb -e MYSQL_ROOT_PASSWORD=test -d mariadb:latest --port 3306:3306
在 Windows 和 Linux 中检查 WSL 网络适配器的 IPv4 地址
打开powershell并执行ifconfig
命令,然后找到WSL网络适配器:
Ethernet adapter vEthernet (WSL):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::e96c:c3d6:464e:2a3b%72
IPv4 Address. . . . . . . . . . . : 172.20.240.1
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
您的 Windows IP 是 172.20.240.1
现在使用 ip a
命令找出 Linux 主机 IP,并查看与 Windows 相同网络中的 IP:
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:ce:28:8e brd ff:ff:ff:ff:ff:ff
inet 172.20.252.177/20 brd 172.20.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fece:288e/64 scope link
valid_lft forever preferred_lft forever
从windows连接到linux服务器
mysql -u root -h 172.20.252.177 -P 3306 -p
Linux 上的 Docker 与 Windows 上的对比
在 Linux 上,docker 在您的系统中以本机方式工作。没有适用于 Windows 的官方 docker 版本。这意味着您需要在 Windows(以及 MacOS)中模拟 linux 机器并在那里运行 docker 守护进程。
当您模拟 linux 时,虚拟机管理程序会为您的模拟系统创建新网络,因此 docker 不在本地主机上运行。
作为用户的主要区别在于,您无法像 localhost 一样访问在 docker 中运行的应用程序,因为它运行在具有自己网络 IP 的 VM 中。
另一个区别是资源可用性。 在 linux docker deamon 可以访问您的所有资源(CPU、内存、硬盘、网络等)。当然,您可以为其创建配额,但目前不关心。
在 Windows 中,您运行 VM 并将一些有限的资源分配给模拟的 Linux。例如 20 GB 硬盘、1vCPU 和 2GB 内存。这对于您的应用程序的性能很重要。它们在 Windows 中会比在 Linux 中慢(如果需要更多资源)。
但是当我在 Windows 上工作时。我喜欢它,因为我可以创建 docker VM 的快照,并且可以将其复制到另一台计算机。这很神奇,因为您在安装或更换计算机时无需配置系统。
今天关于Windows+Linux系统下Go语言环境安装配置过程和linux go语言安装的分享就到这里,希望大家有所收获,若想了解更多关于AdDuplex:Windows 10 21H1 和 Windows 11 首次进入快速增、C# windows 窗体应用程序 Word Interop 适用于 Windows 7 但不适用于 Windows 10、Linux/Wine:windows 应用程序启动 windows 控制台命令并在 windows 上等待时在 linux 上不等待:如何修复?、MariaDB docker 从主机 Windows 10 和 Linux 访问 更新您的命令以在 Ubuntu 系统中的 docker 中运行 mysql:在 Windows 和 Linux 中检查 WSL 网络适配器的 IPv4 地址从windows连接到linux服务器Linux 上的 Docker 与 Windows 上的对比等相关知识,可以在本站进行查询。
本文标签: