14

最近、MacBook Pro を Snow Leopard にアップグレードしたところ、「git pull」が返されました。

rakudo $ git pull
git: 'pull' is not a git-command. See 'git --help'

Did you mean this?
        shell
rakudo $ git-pull
-bash: git-pull: command not found

Macports経由で再インストールしようとしましたが、役に立ちませんでした。それから私はこれを見ました

rakudo $ git --exec-path
/Users/ovid/libexec/git-core

そのディレクトリは存在せず、存在したこともないので、それは私を驚かせました。Google はここでは役に立ちません。うまくいけば:)

4

7 に答える 7

24

git のソースを見ると、git.c に次のコメントがあります。

/*
 * We use PATH to find git commands, but we prepend some higher
 * precedence paths: the "--exec-path" option, the GIT_EXEC_PATH
 * environment, and the $(gitexecdir) from the Makefile at build
 * time.
 */

を呼び出すと、exec_cmd.cgit --exec-pathで呼び出すことになります。それは次のようになります。const char *git_exec_path(void)

const char *env;

if (argv_exec_path)
    return argv_exec_path;

env = getenv(EXEC_PATH_ENVIRONMENT);
if (env && *env) {
    return env;
}

return system_path(GIT_EXEC_PATH);

これで、_argv_exec_path_ が設定されます--exec-path=/some/where。環境変数が設定されていないと述べました。 MakefileGIT_EXEC_PATHでコンパイル中に定義されます。逆に言えば、 just と定義されているようです。そのため、代わりにsystem_path()が何をするかを調べる必要があります。libexec/git-core

RUNTIME_PREFIXが定義されているかどうかはわかりません。しかし、Makefile を調べていると、接頭辞のデフォルトが$(HOME). これがあなたの問題の原因である可能性があると思います。

簡単な答えは、これを に入れることです~/.bashrc:

export GIT_EXEC_PATH=/opt/local/libexec/git-core

何が起こっているのかをもっと知りたい場合は、git を使用してport -d upgrade -f git-core(または同様の方法で) 再コンパイルし、ビルド ログをよく見て、プレフィックスが設定されている場所を確認する必要があります。ちなみに、port cat git-coreの頻繁な使用法を示して${prefix}いるので、(できれば) 明らかなはずです。

于 2009-09-23T13:32:37.333 に答える
2

面白い。試しecho $GIT_EXEC_PATHてみてくださいwhich git。雪の獣とは関係ありそうにありません…</p>

于 2009-09-23T11:28:57.380 に答える
2

私のシステムでlibexec/git-coreは、 は にあり、 では/usr/localありません/opt/local。ディレクトリには/usr/local/libexecルート アクセス許可のみがあり、これで問題が解決しました。

sudo chmod a+rx /usr/local/libexec
于 2010-04-26T22:34:50.073 に答える
1

ポートの移行 wiki ページの手順を試しましたか? 大変でしたが、アンインストールと再インストールのプロセスを実行した後--force、ポートに問題はありませんでしたgit(ほぼすべてのバリアントがオンになっています)。

于 2009-09-23T12:05:14.167 に答える
0

もう1つのオプションは、GitHubの役立つページからダウンロードすることです。

http://help.github.com/mac-git-installation/

彼らはスタンドアロンのインストーラーを持っています(2番目のオプションはMacPortsですが...)

彼らはかつては非常に素晴らしいオールインワンページのチュートリアルを持っていましたが、今では分裂しているようです。残念だ。

于 2009-10-13T05:00:24.907 に答える
0

Git は非常に簡単にコンパイルできるので、macports のクレイジーさを気にする理由はまったくありません。/opt にあるものをすべて取り除き、通常の方法でビルドしてみてください。オッズはうまくいくでしょう。

于 2009-10-13T04:54:51.067 に答える
0

私にとって、これは私のbrewインストールにのみ関連する問題でした. OSX 10.9.2では、ルートの下にbrewをインストールしていたので、これでうまくいきます:

sudo su
export GIT_EXEC_PATH=/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core
brew update # or whatever you want from here
于 2014-05-30T23:47:48.160 に答える