web-dev-qa-db-ja.com

Sudo:bundleコマンドが見つからないのはなぜですか?

Sudoを使用しているときにコマンド「bundle」が見つからないのはなぜですか。

[root@desktop gitlab]# Sudo -u git -H bundle exec rake gitlab:setup Rails_ENV=production
Sudo: bundle: command not found
[root@desktop gitlab]#

ただし、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]#

私が尋ねる理由は、私がフォローしているからです https://github.com/gitlabhq/gitlab-recipes/tree/master/install/centos 、そしてそれはSudoを使うと述べています。

$ Sudo bundle exec ...を使用すると 'bundle:command not found'エラーが発生します のように-iフラグを追加しようとしましたが、「このアカウントは現在利用できません。 "。

12
user1032531

PATHの値がSudoの有無にかかわらず同じであるかどうかを確認します。どうやらそれはbundleにリストされていないという理由だけでPATHを見つけることができません

次の2行の出力を比較できます

$ echo 'echo $PATH' | sh
$ echo 'echo $PATH' | Sudo sh

理想的には、SudoPATHをそのままにしておくことになっています。しかし、これはホスティングディストリビューションの副次的な問題である可能性があります。

オリジナルポスターで編集。出力は次のとおりです。

[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]#
19
deimus

ユーザーはbashログインシェルなしで作成されました。 system-config-usersを使用してこれをcentosで変更します。次に、sugitを/ home/gitに移動し、gitlabディレクトリに移動します。 Sudoタグなしでbundleコマンドを実行します。次に発生するエラーは、構成ディレクトリにdatabase.ymlがないことです。これを正しいパスワードで修正します(つまり、mysqlまたはpostgresのサンプルをコピーして編集します)。

1
user1573865

この問題が発生したので、gitlabがソースからインストールされていると思い、同じエラーが発生しました。しかし、バックアップにOmnibusメソッドを試した後、このコマンドで問題が解決しました。

Sudo gitlab-rake gitlab:backup:create

試してみてください:

Sudo -u git -H env PATH=$PATH && bundle exec rake gitlab:check Rails_ENV=production

現在のユーザーと同じPATHを使用します。

0
Simon Oualid