Warum wird der Befehl "bundle" bei Verwendung von Sudo nicht gefunden:
[[email protected] gitlab]# Sudo -u git -H bundle exec rake gitlab:setup Rails_ENV=production
Sudo: bundle: command not found
[[email protected] gitlab]#
gibt es aber, wenn Sudo nicht verwendet wird:
[[email protected] gitlab]# bundle exec rake gitlab:setup Rails_ENV=production
Warning
You are running as user root, we hope you know what you are doing.
Things may work/fail for the wrong reasons.
For correct results you should run this as user git.
This will create the necessary database tables and seed the database.
You will lose any previous data stored in the database.
Do you want to continue (yes/no)? no
Quitting...
[[email protected] gitlab]#
Der Grund, den ich frage, ist, dass ich https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos folge und Sudo verwende.
Ich habe versucht, ein -i
-Flag wie von Using $ Sudo bundle exec ... löst den Fehler 'bundle: Befehl nicht gefunden' aus , aber erhalte "Dieses Konto ist derzeit nicht verfügbar.".
Überprüfen Sie, ob die PATH
mit und ohne Sudo
dieselben Werte hat. Anscheinend kann es bundle
nicht finden, nur weil es nicht in PATH
aufgeführt ist
Sie können die Ausgaben der folgenden zwei Zeilen vergleichen
$ echo 'echo $PATH' | sh
$ echo 'echo $PATH' | Sudo sh
Idealerweise sollte Sudo
PATH
unberührt lassen. Dies könnte jedoch ein Nebenproblem Ihrer Hosting-Distribution sein.
Nach Originalplakat bearbeiten. Ausgabe ist:
[[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]#
Der Benutzer wurde ohne eine Bash-Anmeldeshell erstellt. Ändern Sie dies in Centos mit System-Config-Benutzern. Dann su git in/home/git und verschiebe es in das gitlab Verzeichnis. Führen Sie die Bundle-Befehle ohne das Sudo-Tag aus. Der nächste Fehler, auf den Sie stoßen, ist die fehlende database.yml im Konfigurationsverzeichnis. Korrigieren Sie dies mit dem richtigen Passwort (d. h. kopieren Sie das mysql- oder postgres-Beispiel und bearbeiten Sie es).
Ich hatte dieses Problem, ich dachte, dass mein Gitlab von der Quelle installiert wurde und ich den gleichen Fehler bekam. aber nach dem Versuch Omnibus-Methode für die Sicherung mein Problem mit diesem Befehl behoben:
Sudo gitlab-rake gitlab: backup: create
Versuchen :
Sudo -u git -H env PATH=$PATH && bundle exec rake gitlab:check Rails_ENV=production
um dieselbe PATH
zu verwenden wie der aktuelle Benutzer.