Назад | Перейти на главную страницу

hg: команда не найдена

Я уверен, что вам надоели вопросы типа «XX: Команда не найдена», поэтому приношу свои извинения за добавление еще одного в стек, но вот оно.

Я пытаюсь создать tar-архив скомпилированной установки mercurial и python, который я могу отправить различным командам в моей компании, которые затем извлекут их на свои изолированные серверы unix (все с одной и той же версией одной и той же ОС) и будут работать с hg, даже если их собственная версия Python слишком старая.

Пока что все идет хорошо, но некоторые машины доставляют мне проблемы. Когда tar-шар будет извлечен, у пользователя появится новая папка bin, содержащая исполняемые файлы hg и python. После установки PATH в эту папку bin исполняемый файл python работает нормально, но исполняемый файл hg выдает сообщение «hg: Command not found». ошибка.

Неужели это плохой путь?

Выдает ошибку, если позвонить

> hg

несмотря на то, что

> which hg

дает правильный путь к исполняемому файлу hg

Кроме того, если вы перейдете в эту папку и позвоните

> ./hg

Вы по-прежнему получаете "hg: Command not found".

Единственный способ заставить его работать - позвонить

> ./python hg

Что работает правильно и показывает справочную информацию hg.

Может быть проблема с разрешением?

Я выполнил извлечение, и все файлы принадлежат мне. Я также проверил файл hg, и у меня есть разрешения на выполнение, как и следовало ожидать.

Почему я получаю эту ошибку?

Кроме пути и разрешений, я просто не знаю, что еще проверить. Мы ценим любые предложения.

Спасибо!

Возможно, что-то не так с волшебной линией в hg сценарий. Пытаться:

$ less `which hg`

В первой строке должен быть абсолютный путь к интерпретатору python. Что-то вроде:

#!/usr/bin/python

(или где бы ни был ваш интерпретатор Python). Дважды проверьте правильность этого пути.