Установка Go в Linux (Mint) и изменение bashrc - PullRequest
3 голосов
/ 16 мая 2011

Я хочу установить Google Go Language на моем компьютере с Linux Mint. Я новичок в Linux, поэтому не легко следовать некоторым инструкциям, которые я прочитал. А именно, мне сказали отредактировать / изменить файл bashrc:

 export GOROOT=$HOME/gosource
 export GOARCH=amd64
 export GOOS=linux
 export GOBIN=$HOME/bin
 export PATH=$PATH:$GOBIN

Я не знаю, как это сделать. Я набрал gedit ~/.bashrc

в терминал и появилась пустая страница. Я вставил код и сохранил его. Тогда сделал

hg clone -u https://go.googlecode.com/hg/ go

чтобы получить исходный код. Это правильно? Потому что тогда я попытался скомпилировать код, и появился длинный список ошибок (которых у меня нет - к сожалению, в настоящее время я использую другой компьютер).

Но если кто-нибудь может помочь мне установить Go, я был бы признателен.

РЕШЕНИЕ:

Помимо различных проблем, упомянутых и решенных в ответах ниже, я забыл установить следующее

sudo apt-get install bison ed gawk gcc libc6-dev make

Что упоминается в верхней части страницы установки golang.com.

Ответы [ 3 ]

1 голос
/ 16 мая 2011

Помимо прочего, вы пытались клонировать репозиторий на ~/go и редактировали ~/.bashrc, чтобы указать $GOROOT на ~/gosource.

Прочтите инструкции Go Getting Started внимательно.Либо скопируйте и вставьте команды, либо проверьте, что вы печатаете очень внимательно;очень внимательно проверьте ввод, прежде чем нажать Enter.Для команд знак $ представляет командную строку, не вводите ее.Помните, что в Linux учитывается регистр, и важно различать / и \.Очень внимательно проверяйте вывод команд;Имеет ли смысл вывод?Запустите диагностические команды, такие как env, pwd, which и uname.Когда вы видите полосы прокрутки в ответе Переполнение стека, прокрутите весь код и выведите.

Сначала настройте ~/.bashrc.

$ gedit ~/.bashrc

export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

Закройте все открытые окна терминала, а затем откройтеновое окно терминала для проверки новых ~./bashrc и других значений.

$ env | grep '^\(GO\|HOME=\|PATH=\)'
GOBIN=/home/peter/go/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
GOARCH=amd64
HOME=/home/peter
GOROOT=/home/peter/go
GOOS=linux
$ cd $GOROOT/src
$ pwd
/home/peter/go/src
$ uname -a
Linux peter 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:25:51 UTC 2011 x86_64 GNU/Linux

Затем клонируйте репозиторий в $GOROOT, и вы будете клонировать и компилировать из того же места.

$ hg clone -u release https://go.googlecode.com/hg/ $GOROOT
requesting all changes
adding changesets
adding manifests
adding file changes
added 8441 changesets with 31916 changes to 4421 files (+1 heads)
updating to branch release-branch.r57
2702 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd $GOROOT/src
$ ./all.bash
< SNIP OUTPUT >
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/peter/go.
Installed commands in /home/peter/go/bin.
The compiler is 6g.
$ which 6g
/home/peter/go/bin/6g

Вы не опубликовали свой вывод, поэтому я могу только догадываться, в чем заключаются ваши проблемы.

Например, вы говорите «каталог - это Go», он должен быть «идти»;поскольку в Linux учитывается регистр символов, «Go» и «go» различаются.

Если вы опустите пункт назначения $GOROOT в команде hg clone или $GOROOT не задан, hg clone по умолчанию будеткаталог hg.Например,

$ env | grep '^GOROOT'
GOROOT=
$ hg clone -u release https://go.googlecode.com/hg/ $GOROOT
destination directory: hg

Поскольку у вас GOARCH=amd64, вы должны запустить 64-разрядную версию Linux Mint на процессоре x86_64.Что говорит ваш вывод uname -a?Вы хотите, чтобы программы 6g и 6l компилировались и связывались на процессоре x86_64, который должен находиться в вашем каталоге $GOBIN, который должен находиться в вашем $PATH.

$ env | grep '^\(GOBIN\|PATH=\)'
GOBIN=/home/peter/go/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
$ which 6g
/home/peter/go/bin/6g

Вы также должны были это увидеть, прочитав конец команды ./all.bash.

ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/peter/go.
Installed commands in /home/peter/go/bin.
The compiler is 6g.
0 голосов
/ 16 мая 2011

Нет необходимости настраивать окружение в простейшем случае.

После клонирования выполните

cd go/src
./all.bash

, чтобы скомпилировать Go.После компиляции вам скажут, где он установлен и как его запустить.Тогда вы можете действительно изменить свою среду, чтобы обновить переменную PATH.Но этот вопрос действительно выходит за рамки языка Go, поэтому сделайте то, что предложил Робин Грин .

PS Пакеты Debian для golang недавно были загружены в нестабильную версию (смотрите ошибка ), поэтому может быть лучше взять пакет с исходным кодом и собрать из него реальные пакеты Debian.

0 голосов
/ 16 мая 2011

Вместо

gedit /.bashrc

вы должны были набрать

gedit ~/.bashrc

Тот факт, что вы смогли сохранить его (?!), означает, что вы либо опечатали то, что на самом деленабрал в своем вопросе, или вы запускали gedit от имени пользователя root.Вам нужно запустить gedit от имени того же пользователя (вашего пользователя), который будет выполнять компиляцию, чтобы убедиться, что вы редактируете нужный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...