Zkontrolujte, zda PATH
má stejné hodnoty jak s sudo
, tak bez něj . Zjevně nemůže najít bundle
jen proto, že není uveden v PATH
Můžete porovnat výstupy následujících dvou řádků
$ echo 'echo $PATH' | sh
$ echo 'echo $PATH' | sudo sh
Ideálně sudo
má ponechat PATH
nedotčený. Ale to může být vedlejší problém vaší distribuce hostingu.
Upravit podle původního plakátu. Výstup je:
[[email protected] etc]# echo 'echo $PATH' | sh
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] etc]# echo 'echo $PATH' | sudo sh
/sbin:/bin:/usr/sbin:/usr/bin:/user/local/bin
[[email protected] etc]#
Uživatel byl vytvořen bez přihlašovacího shellu bash. Změňte to v centos pomocí system-config-users. Poté su git do /home/git a přesuňte se do adresáře gitlab. Příkazy svazku provádějte bez značky sudo. Další chybou, na kterou narazíte, je chybějící database.yml v konfiguračním adresáři. opravte to správným heslem (tj. zkopírujte ukázku mysql nebo postgres a upravte).
Měl jsem tento problém, myslel jsem si, že můj gitlab byl nainstalován ze zdroje a dostal jsem stejnou chybu. ale po vyzkoušení metody Omnibus pro zálohování byl můj problém vyřešen tímto příkazem:
sudo gitlab-rake gitlab:backup:create