Pourquoi la commande "bundle" est-elle introuvable lors de l'utilisation de Sudo:
[root@desktop gitlab]# Sudo -u git -H bundle exec rake gitlab:setup Rails_ENV=production
Sudo: bundle: command not found
[root@desktop gitlab]#
mais existe quand vous n'utilisez pas Sudo:
[root@desktop 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...
[root@desktop gitlab]#
La raison pour laquelle je pose cette question est que je suis https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos et qu'il est indiqué d'utiliser Sudo.
J'ai essayé d'ajouter un indicateur -i
comme décrit par L'utilisation de $ Sudo bundle exec ... soulève une erreur 'bundle: command not found' , mais obtenez le message "Ce compte n'est pas disponible pour le moment".
Vérifiez si la PATH
a les mêmes valeurs avec et sans Sudo
. Apparemment, il ne peut pas trouver bundle
simplement parce qu'il ne figure pas dans PATH
Vous pouvez comparer les sorties des deux lignes suivantes
$ echo 'echo $PATH' | sh
$ echo 'echo $PATH' | Sudo sh
Idéalement, Sudo
est supposé laisser PATH
intact. Mais cela pourrait être un problème secondaire de votre distribution d'hébergement.
Modifier par affiche originale. La sortie est:
[root@desktop 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
[root@desktop etc]# echo 'echo $PATH' | Sudo sh
/sbin:/bin:/usr/sbin:/usr/bin:/user/local/bin
[root@desktop etc]#
L'utilisateur a été créé sans un login bash Shell. Changez cela en centos en utilisant system-config-users. Ensuite, entrez dans/home/git et allez dans le répertoire gitlab. Exécutez les commandes bundle sans la balise Sudo. La prochaine erreur que vous rencontrerez est le fichier database.yml manquant dans le répertoire de configuration. corrigez cela avec le mot de passe correct (copiez le sample mysql ou postgres et éditez-le).
Essayez:
Sudo -u git -H env PATH=$PATH && bundle exec rake gitlab:check Rails_ENV=production
d'utiliser la même PATH
que l'utilisateur actuel.