150 lines
8.1 KiB
Markdown
150 lines
8.1 KiB
Markdown
<div dir="rtl">
|
||
|
||
# ۱-۱ نصب
|
||
|
||
## سه روش برای نصب Go
|
||
|
||
راه های زیادی برای تنظیم محیز توسعه ی Go بر روی کامپیوتر وجود دارند، و شما می توانید از هر یک از این روش ها به دلخواه خود استفاده کنید. به طور کلی سه روش زیر، به عنوان رایج ترین روش ها شناخته می شوند:
|
||
|
||
- نصب پکیج های رسمی.
|
||
- تیم توسعه ی Go پکیج های جامعی را برای ویندوز، لینوکس، مک و سایر سیستم عامل ها فراهم کرده است. این روش نصب، شاید ساده ترین روش ممکن برای شروع باشد. شما می توانید به [صفحه ی دانلود Golang](https://golang.org/dl/) مراجعه کرده و فایل نصبی مورد نظر خود را دانلود کنید.
|
||
- نصب Go از طریق کد منبع.
|
||
- این روش بین توسعه دهندگان سیستم های شبه یونیکس مرسوم و شناخته شده است.
|
||
- استفاده از ابزارهای شخص سوم (third-party)
|
||
- ابزارها و پکیج های زیادی برای نصب Go وجود دارند، که شما می توانید از آن ها استفاده کنید. برای مثال apt-get در اوبونتو و homebrew در مک.
|
||
|
||
اگر به هر دلیلی احتیاح دارید بیشتر از یک نسخه از Go را بر روی یک کامپیوتر داشته باشید، کافیست نگاهی به ابزار [GVM](https://github.com/moovweb/gvm) داشته باشید، که یکی از بهترین ابزارهای موجود برای این منظور می باشد. در غیر این صورت همیشه می توانید این کار را به صورت دستی هم انجام دهید.
|
||
|
||
## نصب از طریق کد منبع
|
||
|
||
To compile Go 1.5 and upwards, you only need the previous version of Go, as Go has achieved bootstrapping. You only need Go to compile Go.
|
||
|
||
To compile Go 1.4 downwards, you will need a C compiler as some parts of Go are still written in Plan 9 C and AT&T assembler.
|
||
|
||
On a Mac, if you have installed Xcode, you already have the compiler.
|
||
|
||
On Unix-like systems, you need to install gcc or a similar compiler. For example, using the package manager apt-get (included with Ubuntu), one can install the required compilers as follows:
|
||
|
||
```sh
|
||
sudo apt-get install gcc libc6-dev
|
||
```
|
||
|
||
On Windows, you need to install MinGW in order to install gcc. Don't forget to configure your environment variables after the installation has completed.( ***Everything that looks like this means it's commented by a translator: If you are using 64-bit Windows, you should install the 64-bit version of MinGW*** )
|
||
|
||
At this point, execute the following commands to clone the Go source code and compile it.( ***It will clone the source code to your current directory. Switch your work path before you continue. This may take some time.*** )
|
||
|
||
git clone https://go.googlesource.com/go
|
||
cd go/src
|
||
./all.bash
|
||
|
||
A successful installation will end with the message "ALL TESTS PASSED."
|
||
|
||
On Windows, you can achieve the same by running `all.bat`.
|
||
|
||
If you are using Windows, the installation package will set your environment variables automatically. In Unix-like systems, you need to set these variables manually as follows. ( ***If your Go version is greater than 1.0, you don't have to set $GOBIN, and it will automatically be related to your $GOROOT/bin, which we will talk about in the next section***)
|
||
|
||
export GOROOT=$HOME/go
|
||
export GOBIN=$GOROOT/bin
|
||
export PATH=$PATH:$GOROOT/bin
|
||
|
||
If you see the following information on your screen, you're all set.
|
||
|
||

|
||
|
||
Figure 1.1 Information after installing from source code
|
||
|
||
Once you see the usage information of Go, it means you have successfully installed Go on your computer. If it says "no such command", check that your $PATH environment variable contains the installation path of Go.
|
||
|
||
## Using the standard installation packages
|
||
|
||
Go has one-click installation packages for every supported operating system. These packages will install Go in `/usr/local/go` (`c:\Go` in Windows) by default. Of course this can be modified, but you also need to change all the environment variables manually as I've shown above.
|
||
|
||
### How to check if your operating system is 32-bit or 64-bit?
|
||
|
||
Our next step depends on your operating system type, so we have to check it before we download the standard installation packages.
|
||
|
||
If you are using Windows, press `Win+R` and then run the command tool. Type the `systeminfo` command and it will show you some useful system information. Find the line that says "system type" -if you see "x64-based PC" that means your operating system is 64-bit, 32-bit otherwise.
|
||
|
||
I strongly recommend downloading the 64-bit package if you are a Mac user, as Go no longer supports pure 32-bit processors on Mac OSX.
|
||
|
||
Linux users can type `uname -a` in the terminal to see system information.
|
||
A 64-bit operating system will show the following:
|
||
|
||
<some description> x86_64 x86_64 x86_64 GNU/Linux
|
||
// some machines such as Ubuntu 10.04 will show as following
|
||
x86_64 GNU/Linux
|
||
|
||
32-bit operating systems instead show:
|
||
|
||
<some description> i686 i686 i386 GNU/Linux
|
||
|
||
### Mac
|
||
|
||
Go to the [download page](https://golang.org/dl/), choose `go1.4.2.darwin-386.pkg` (The later version has no 32-bit download.)for 32-bit systems and `go1.8.3.darwin-amd64.pkg` for 64-bit systems. Going all the way to the end by clicking "next", `~/go/bin` will be added to your system's $PATH after you finish the installation. Now open the terminal and type `go`. You should see the same output shown in figure 1.1.
|
||
|
||
### Linux
|
||
|
||
Go to the [download page](https://golang.org/dl/), choose `go1.8.3.linux-386.tar.gz` for 32-bit systems and `go1.8.3.linux-amd64.tar.gz` for 64-bit systems. Suppose you want to install Go in the `$GO_INSTALL_DIR` path. Uncompress the `tar.gz` to your chosen path using the command `tar zxvf go1.8.3.linux-amd64.tar.gz -C $GO_INSTALL_DIR`. Then set your $PATH with the following: `export PATH=$PATH:$GO_INSTALL_DIR/go/bin`. Now just open the terminal and type `go`. You should now see the same output displayed in figure 1.1.
|
||
|
||
### Windows
|
||
|
||
Go to the [download page](https://golang.org/dl/), choose `go1.8.3.windows-386.msi` for 32-bit systems and `go1.8.3.windows-amd64.msi` for 64-bit systems. Going all the way to the end by clicking "next", `c:/go/bin` will be added to `path`. Now just open a command line window and type `go`. You should now see the same output displayed in figure 1.1.
|
||
|
||
## Use third-party tools
|
||
|
||
### GVM
|
||
|
||
GVM is a Go multi-version control tool developed by a third-party, like rvm for ruby. It's quite easy to use. Install gvm by typing the following commands in your terminal:
|
||
|
||
bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
|
||
|
||
Then we install Go using the following commands:
|
||
|
||
gvm install go1.8.3
|
||
gvm use go1.8.3
|
||
|
||
After the process has finished, you're all set.
|
||
|
||
### apt-get
|
||
|
||
Ubuntu is the most popular desktop release version of Linux. It uses `apt-get` to manage packages. We can install Go using the following commands.
|
||
|
||
sudo add-apt-repository ppa:gophers/go
|
||
sudo apt-get update
|
||
sudo apt-get install golang-go
|
||
|
||
### wget
|
||
```sh
|
||
|
||
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
|
||
sudo tar -xzf go1.8.3.linux-amd64.tar.gz -C /usr/local
|
||
|
||
# Go environment
|
||
export GOROOT=/usr/local/go
|
||
export GOBIN=$GOROOT/bin
|
||
export PATH=$PATH:$GOBIN
|
||
export GOPATH=$HOME/gopath
|
||
```
|
||
Starting from go 1.8, The GOPATH environment variable now has a default value if it is unset. It defaults to `$HOME/go` on Unix and `%USERPROFILE%/go` on Windows.
|
||
### Homebrew
|
||
|
||
Homebrew is a software management tool commonly used in Mac to manage packages. Just type the following commands to install Go.
|
||
|
||
1. Install Homebrew
|
||
|
||
```sh
|
||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||
```
|
||
|
||
2. Install Go
|
||
|
||
```sh
|
||
brew update && brew upgrade
|
||
brew install go
|
||
```
|
||
## Links
|
||
|
||
- [Directory](preface.md)
|
||
- Previous section: [Go environment configuration](01.0.md)
|
||
- Next section: [$GOPATH and workspace](01.2.md)
|
||
</div> |