Дополнительно
невозможно загрузить, $GOPATH не установлен
Я хочу установить json2csv с помощью go get github.com/jehiah/json2csv
, но получаю эту ошибку:
package github.com/jehiah/json2csv: cannot download, $GOPATH not set. For more details see: go help go path
Подскажите, как это исправить на MacOS?
144
14
[Обновление: начиная с Go 1.8,
GOPATH
по умолчанию имеет значение$HOME/go
, но вы все равно можете найти это полезным, если хотите понять расположениеGOPATH
, настроить его и т.д.].Официальный сайт Go обсуждает GOPATH и то, как расположить каталог рабочего пространства.
export GOPATH="$HOME/ваше рабочее пространство-dir/"
-- запустите это в вашей оболочке, затем добавьте это в~/.bashrc
или эквивалент, чтобы это было установлено для вас в будущем. Go установит пакеты в подкаталогиsrc/
,bin/
иpkg/
. Вы'захотите поместить свои собственные пакеты куда-нибудь в$GOPATH/src
, например$GOPATH/src/github.com/myusername/
, если вы хотите публиковаться на GitHub. Вам также, вероятно, понадобитсяexport PATH=$PATH:$GOPATH/bin
в вашем.bashrc
, чтобы вы могли запускать скомпилированные программы в$GOPATH
.Как вариант, через Роба Пайка, вы также можете установить
CDPATH
, чтобы быстрееcd
в папки пакетов в bash:export CDPATH=.:$GOPATH/src/github.com:$GOPATH/src/golang.org/x
означает, что вы можете просто набратьcd net/html
вместоcd $GOPATH/src/golang.org/x/net/html
.Keith Rarick notes вы можете установить
GOPATH=$HOME
, чтобы поместить Go'ssrc/
,pkg/
иbin/
каталоги прямо в ваш homedir. Это может быть удобно (например, у вас уже есть$HOME/bin
в пути), но, конечно, некоторые люди используют несколько рабочих пространств и т.п.Это один работал
Настройка перейдите среды разработки на Ubuntu, и как исправить $GOPATH / $GOROOT
Шаги
Набор $GOPATH в .bashrc и,
Через самогон
Я установил его с помощью
самогон
.Когда это было сделано, если вы запустите этот квас команды'Лл показывают следующую информацию:
Важные куски есть и такие строки:
и GT; /usr/местные/погреб/перейти/1.4.2 (4676 файлы, высота 158m) *
Настройка идете's в среду
Это показывает, куда идти был установлен. Нам нужно сделать следующие настройки зайти'окружающей среды:
Затем вы можете проверить с помощью идти, чтобы увидеть, если это'ы правильно настроен:
Настройка json2csv
Выглядит хорошо, так позволяет установить
json2csv
:Что случилось? Он установил его. Вы можете проверить, как это:
Итак, почему может'Т Я тип
json2csv
в моей оболочке? Что's, потому что каталог/Бин в разделе
$GOPATH-это'т на$путь ваш`.Так давайте'ы временно добавить это:
И повторно проверьте:
Теперь это'ы есть:
Добавить изменения, которые мы'ве сделал для
$Path " и " $GOPATH
своей$дома/.файл
, чтобы заставить их сохраняться между перезагрузками.Смотреть видео
В общем, я всегда рекомендую это официальное видео от Go, чтобы получить быстрый обзор по данному вопросу:
http://www.youtube.com/watch?v=XCsL89YtqCs
Проще показать, чем рассказать.
@jwfearn перефразировал важную часть видео:
Я нашел проще сделать это так:
Для Mac это хорошо работал для меня.
и добавить ниже в конце файла
Это должно решить проблему. Попробуйте открыть новый терминал и Echo $GOPATH вы должны увидеть правильное значение.
$Ваш GOROOT не должна быть настроена. Вы
$GOPATH
должен быть установлен в$дома/пойти
вписавэкспорт $GOPATH=$дома/пойти
Экспортируйте, пожалуйста, введите GOROOT=" и"` В, чтобы исправить вашу проблему.
(для Mac)
Я пробовал все эти ответы и, по все еще непонятным причинам, никто из них не работал.
У меня было, чтобы "насильно" в GOPATH, установив переменную окружения для каждой команды, что требует его. Например:
Даже
скользить
дает мнеGOPATH не задано
об ошибке. Решить ее, опять же, на "силу подачи и": Я пробовал все эти ответы и, по все еще непонятным причинам, никто из них не работал.У меня было, чтобы "насильно" в GOPATH, установив переменную окружения для каждой команды, что требует его.
Надеюсь, что это помогает кто-то.
Просто сделайте
export GOPATH="/whatever/you/like/your/GOPATH/to/be"
.Бежать 'идти ОКР' и увидеть, где ваш GOPATH в настоящее время направлен в сторону. Если вы перейдете в этот каталог, ваш 'иди..и т. д' команда должна работать.
Эта проблема произошла со мной в малиновый Пи. Я подключился через VNC клиент Проблема сохраняется несмотря на создание и экспорт GOPATH. Потом побежал в "Иди" в команду без sudo и он работал отлично.
Если вы столкнулись с этой проблемой после того, как
$GOPATH
, оно может быть потому, что вы'вновь работает с неподдерживаемой оболочки. Я использовалрыбы
и он не работает, запустив его сБаш
работал нормально.Вы можете использовать "на экспорт" и решение как другие ребята предложили. Я'd, как, чтобы предоставить вам другое решение для постоянного удобство: вы можете использовать любой путь, как GOPATH при выполнении команды go.
Во-первых, вам нужно скачать небольшой инструмент под названием
ГОСТ
: https://github.com/byte16/gost/releases . Если вы используете Ubuntu, вы можете скачать версию для Linux(https://github.com/byte16/gost/releases/download/v0.1.0/gost_linux_amd64.tar.gz).Затем вам нужно выполнить команду, чтобы распаковать его :
Вы получите исполняемый
ГОСТ
. Вы можете переместить его в/usr/местные/Бен для удобного использования:Выполните команду ниже чтобы добавить путь, который вы хотите использовать в качестве GOPATH в pathspace
ГОСТ
поддерживает. Это необходимо, чтобы дать путь имя, которое вы будете использовать позже.Выполнение команды перейти необходимо в формате:
Например, вы хотите запустить
иди github.com/go-sql-driver/mysql
с/дома/программой/бар
как GOPATH, просто сделайте это, как показано ниже:Это поможет вам установить GOPATH и выполните команду. Но помните, что вы добавили путь в
ГОСТ
'ы pathspace. Если вы находитесь под любой уровень подкаталогов/дома/программой/бар
, вы даже можете просто запустить следующую команду, которая будет делать то же самое для краткости :ГОСТ
представляет собой простой инструмент, которых может помочь вам управлять GOPATHs и выполнения команд. Для получения более подробной информации о том, как использовать его для выполнения других команд идти, вы можете просто запуститьГОСТ помочь goCmdName
. Например, вы хотите узнать больше о "установить", просто введите слова ниже:Вы также можете найти более подробную информацию в README проекта: https://github.com/byte16/gost/blob/master/README.md
Мне пришлось запустить приложения как root (для открытия веб-сервер на порту 80), это вызвало ошибку для меня, потому что пользователя sudo имеет другой среды, чем обычный пользователь, поэтому GOPATH не был установлен.
Если кто-то еще, имеющий эту проблему, добавьте
-E
для команды, это позволит сохранить окружающую среду пользователя.`судо -е беги главного.идти
Для получения дополнительной информации см. обсуждение здесь: группы Google – GOPATH проблема