Замена неудобного имени пакета. Получил ошибку: заменяемый модуль без версии должен быть путем к каталогу (с корнем или начиная с ./ или ../)

Проблема

В файле go.mod я написал:

module github.com/Siiir/vector

go 1.17

require github.com/huandu/go-clone v1.3.2 // indirect
replace clone => github.com/huandu/go-clone[v1.3.2]

Пишет, что я не могу сделать такую ​​замену. Я действительно решил свою проблему с именем импортированного пакета. Это удобно и работает без этой черточки. Я обнаружил, что могу использовать clone.something для ссылки на функцию. Не нужно печатать go-clone.something.
В любом случае, предположим, что имя пакета действительно сумасшедшее или неудобное. Как я могу заменить его?

Что я видел:

Что я пробовал:

  1. Работа с терминалом:
  • go mod edit -replace=clone=github.com/huandu/go-clone
    есть:go: -replace=clone=github: unversioned new path must be local directory
  1. ручное редактирование:
  • Попытки типа: replace clone => github.com/huandu/go-clone[v1.3.2]
    есть:replacement module without version must be directory path (rooted or starting with ./ or ../)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
1
0
20
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Anyway, assume that a package name is indeed crazy or inconvenient. How can I replace it?

Вы не можете.

И вы не должны. Путь импорта — это то, что вы пишете только один раз в объявлении import, а имя пакета можно изменить на уровне файла с помощью import nicename "something.you.think/is-totally/inconvenient/and/unacceptable-to/your_taste" .

Спасибо, псевдоним на уровне файла был чем-то, что я глубоко забыл.

Sir 12.05.2022 17:17

Другие вопросы по теме