Macos 绑定到Cocoa应用程序的Git无法在捆绑包中找到帮助程序 背景:

Macos 绑定到Cocoa应用程序的Git无法在捆绑包中找到帮助程序 背景:,macos,git,cocoa,nstask,Macos,Git,Cocoa,Nstask,我有一个Mac应用程序。我想在这个应用程序中包括Git,因为我的应用程序的一些功能使用Git,我不希望用户必须在他的机器上安装它 我已经从源代码下载了Git。我编辑了Makefile来声明这两行: NO_GETTEXT="yesPlease" CURLDIR=/usr/local 第一行告诉构建过程跳过本地化,只使用英语。 第二行声明安装libcurl的路径。我下载了libcurl\u-devel,并从源代码构建了它。这是使Git能够从http和httpsrepos中拉/推

我有一个Mac应用程序。我想在这个应用程序中包括Git,因为我的应用程序的一些功能使用Git,我不希望用户必须在他的机器上安装它

我已经从源代码下载了Git。我编辑了Makefile来声明这两行:

NO_GETTEXT="yesPlease"
CURLDIR=/usr/local
第一行告诉构建过程跳过本地化,只使用英语。 第二行声明安装
libcurl
的路径。我下载了
libcurl\u-devel
,并从源代码构建了它。这是使Git能够从
http
https
repos中拉/推操作所必需的

Git构建成功。然后,我将所有生成的文件复制到我的应用程序包中。我正在使用NSTask运行Git并尝试拉取一个基于https://的repo

问题是: 我得到的错误是:

fatal: Unable to find remote helper for 'https'
我在谷歌上搜索了这个,每个人都说只要我在构建Git时安装了
libcurl
,Git就可以使用HTTP和HTTPS地址。而且,事实上,如果我从命令行运行已安装的Git,它会运行

我需要的是: 所以,我肯定缺少路径设置、环境变量或告诉Git在哪里可以找到这些远程助手的东西。它们在我的应用程序包中;下面的屏幕截图显示了它们:


那么:当我从应用程序包中运行Git时,为了解决这个问题,我到底需要设置什么?

难以置信。在我终于崩溃并发布了这个问题后,我花了8个多小时零5分钟试图解决这个问题,我发现:

Git有一个名为
--exec path
的选项。我将此参数传递给NSTask,如下所示(其中应用程序包被用户机器上应用程序包的路径替换):

--exec path=[APP BUNDLE]/git/bin

因为
bin
是Git二进制文件所在的文件夹,所以我认为这是合适的路径。但是,如果我这样做:

--exec path=[APP BUNDLE]/git/libexec/git core


它起作用了

我只是在这里瞎说,但是你不应该把捆绑的Git指向一个同样捆绑而不是本地安装的libcurl吗?据我所知,libcurl只是在构建Git时才需要的。我不认为它需要与应用捆绑在一起。这个错误似乎意味着Git在屏幕截图中找不到“Git remote https”助手。你应该接受自己的答案——把它变成绿色!谢谢我忘了这件事。