wake-up-neo.com

Warum wurde der Sudo: bundle-Befehl nicht gefunden?

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.".

11
user1032531

Ü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 SudoPATH 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]#
18
deimus

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).

1
user1573865

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.

0
Simon Oualid