Ошибка в конструкторе: не удалось выполнить "git": нет такого файла или каталога - PullRequest
3 голосов
/ 24 января 2011

Хорошо, поэтому я устанавливаю модифицированный бот eggdrop, но после получения всех необходимых модулей и библиотек perl я получаю эту ошибку:

sudo perl run-test
Running bot 18076
tcltest

Error in constructor: couldn't execute "git": no such file or directory at tcltest.pl line 12.

Вот строка 12 файла tcltest.pl:

print $tcl->EvalFile("smeggdrop.tcl"),$/;

Который содержит:

# smeggdrop.tcl
encoding system utf-8
set SMEGGDROP_ROOT [file dirname [info script]]

if [file exists smeggdrop.conf] {source smeggdrop.conf}
source $SMEGGDROP_ROOT/smeggdrop/smeggdrop.tcl

И smeggdrop.conf это:

# smeggdrop.conf
#
# HTTP limits
#
set smeggdrop_http_requests_per_eval  5                     ;# Maximum number of requests per eval per channel
set smeggdrop_http_request_interval   60                    ;# Interval for the smeggdrop_http_request_limit setting, in seconds
set smeggdrop_http_request_limit      25                    ;# Maximum number of requests per interval per channel
set smeggdrop_http_post_limit         150000                ;# Maximum POST body size
set smeggdrop_http_transfer_limit     150000                ;# Maximum GET response size
set smeggdrop_http_time_limit         5000                  ;# Maximum execution time, in milliseconds
set smeggdrop_log_max_lines           20                    ;# Maximum lines to record per channel

#
# Publish settings - comment these out if you don't want [publish]
#
# set smeggdrop_publish_url             http://www.example.org/           ;# URL to publish to
# set smeggdrop_publish_hostname        example.org                       ;# SSH hostname
# set smeggdrop_publish_username        myusername                        ;# SSH username
# set smeggdrop_publish_password        mypassword                        ;# SSH password
# set smeggdrop_publish_filename        /home/example/htdocs/index.txt    ;# Filename to write to

1 Ответ

1 голос
/ 24 января 2011

Проблема возникает из source smeggdrop/smeggdrop.tcl: smeggdrop.tcl, по очереди, источников smeggdrop/versioned_interpreter.tcl, который имеет раздел, подобный:

  method initialize_repository {} {
    mkdir_p [$self path]
    mkdir_p [$self path procs]
    mkdir_p [$self path vars]
    touch [$self path procs _index]
    touch [$self path vars _index]

    if ![$self repository_exists] {
      $self git init
      $self git add procs vars
      $self commit "Created repository"
    }
  }

Это означает, что git должен быть в PATH, чтобы быть найденным этим perl-скриптом.

Измените путь в правом rc файле (в зависимости от используемой по умолчанию оболочки), добавив каталог git bin, , и вы выиграли У меня больше нет этой проблемы.

...