2017-01-10 2 views
0

Я пытаюсь установить проект go (the keybase client, in particular), но я хочу установить его глобально для всех пользователей моей системы.Каков правильный способ установки пакета go на системный путь?

Я искал вокруг и нашел несколько людей, которые случайно установить вещи /usr/local/go/bin или что-то на этот счет, но никаких инструкций о том, как я на самом деле должен быть устанавливать вещи в такие места.

Но это то, что я хочу сделать - глобально установить приложение. Как мне с этим идти?

Я не использую любой из готовых пакетов, потому что ни один не существует для Raspbian Джесси.

+0

Вы устанавливаете его как что-либо еще для своей системы, нет ничего особенного в том, что он написан на Go. На этой странице есть готовые пакеты для Mac и Linux. – JimB

+0

amd32 и 64 linux, а не ARM –

+1

Ах, не видел крошечной печати о Raspbian. Просто скопируйте двоичный файл в систему PATH. – JimB

ответ

0

Вы пробовали настройки $ Гобин как:

Гобин =/USR/местные/бен/или Гобин =/USR/BIN/или любую директорию в PATH?

, а затем:

экспорт Гобин

, а затем установить приложение?

В соответствии с руководством по умолчанию $ Гобин составляет $ GOROOT/бен, так что я предполагаю, что эти пользователи настраивают GOROOT в/USR/местные/перейти

+0

Если вы установите GOBIN в каталог, в котором у вас нет разрешения на запись, у вас возникнут проблемы с файлами, принадлежащими root, в вашем GOPATH после использования 'sudo' для сборки и установки. – JimB

+0

Возможно, я неправильно понял вопрос. Я попробовал на виртуальной машине и получил один исполняемый файл keybase в моем $ GOBIN, который я могу запускать как любой пользователь. – Roeften

+0

Каталоги системных бинов по умолчанию записываются только root. Если вы запустили 'sudo go install', теперь у вас есть файлы, принадлежащие root, в вашем GOAPTH. Вы не должны создавать программное обеспечение как root. – JimB

0

подход, который я принял это:

PATH="$PATH:/usr/local/go/bin" GOPATH=/usr/local/go/ go get github.com/keybase/client/go/keybase 
PATH="$PATH:/usr/local/go/bin" GOPATH=/usr/local/go/ go install -tags production github.com/keybase/client/go/keybase 

Конец выпуска keybase до /usr/local/go/bin/keybase. Возможно, что есть лучший способ, но пока я его не видел.

+1

Я бы рекомендовал против установки 'GOPATH =/usr/local/go', так как это GOROOT по умолчанию, и вы никогда не захотите случайно сбивать что-то в GOROOT. (Вы запросили «правильный» способ, и это все равно должно установить результирующий двоичный файл на системный путь _after_, который вы создаете, как и любой другой двоичный файл.) – JimB

Смежные вопросы