gpt4 book ai didi

git - 有人在 M1 CPU Mac 上成功运行 git-svn 吗?

转载 作者:行者123 更新时间:2023-12-05 06:03:55 25 4
gpt4 key购买 nike

我已经尝试了很多关于 Homebrew issues.Always fail to run git-svn

Can't locate SVN/Core.pm in @INC (you may need to install the
SVN::Core module) (@INC contains:
/opt/homebrew/Cellar/git/2.30.1/share/perl5
/Applications/Xcode.app/Contents/Developer/Library/Perl/5.28/darwin-thread-multi-2level
/Library/Developer/CommandLineTools/Library/Perl/5.28/darwin-thread-multi-2level
/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0/darwin-2level
/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0
/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/darwin-2level
/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0) at
/opt/homebrew/Cellar/git/2.30.1/share/perl5/Git/SVN/Utils.pm line 6.
BEGIN failed--compilation aborted at
/opt/homebrew/Cellar/git/2.30.1/share/perl5/Git/SVN/Utils.pm line 6.
Compilation failed in require at
/opt/homebrew/Cellar/git/2.30.1/share/perl5/Git/SVN.pm line 25. BEGIN
failed--compilation aborted at
/opt/homebrew/Cellar/git/2.30.1/share/perl5/Git/SVN.pm line 32.
Compilation failed in require at
/opt/homebrew/Cellar/git/2.30.1/libexec/git-core/git-svn line 23.
BEGIN failed--compilation aborted at
/opt/homebrew/Cellar/git/2.30.1/libexec/git-core/git-svn line 23.

Git-SVN 不支持 M1 Mac?

最佳答案

M1 不太可能与此问题有任何关系。

git-svn 写在Perl ,并且解释器本身似乎工作正常。它确实产生了回溯;如果运行时出现重大问题(由于您使用的是特殊机器或其他原因),错误会有所不同。

如果您可以仔细阅读输出,您可以轻松理解问题所在。

让我们一起做吧。

Can't locate SVN/Core.pm in @INC

这表示 git-svn(perl script)尝试导入/包含/需要一个模块 SVN/Core.pm。找不到该模块的文件。

Can't locate SVN/Core.pm in @INC

即使没有精通 Perl 知识,您也可以猜出 @INC 是“包含路径”变量。 Perl 在其中查找导入模块的目录列表。

进一步阅读。

@INC contains:/opt/homebrew/Cellar/git/2.30.1/share/perl5/Applications/Xcode.app/Contents/Developer/Library/Perl/5.28/darwin-thread-multi-2level/Library/Developer/CommandLineTools/Library/Perl/5.28/darwin-thread-multi-2level/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0/darwin-2level/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/site_perl/5.32.0/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0/darwin-2level/Users/admin/perl5/perlbrew/perls/perl-5.32.0/lib/5.32.0)

这正是 @INC 的当前设置。它会向您显示确切的目录列表。 仔细阅读,不要跳过!我们期待在那里看到与 git-svn 相关的东西,对吧?

问题 1:您的 Perl 模块路径似乎包含一些垃圾。那里混合了 2 个版本的 Perl(5.28 和 5.32.0),这不是一个好兆头。您是否疯狂安装了多个版本却从未清理过?..

接下来让我们阅读回溯:

/opt/homebrew/Cellar/git/2.30.1/share/perl5/Git/SVN/Utils.pm line 6.
/opt/homebrew/Cellar/git/2.30.1/share/perl5/Git/SVN.pm line 25.
/opt/homebrew/Cellar/git/2.30.1/libexec/git-core/git-svn line 23.

git-svn includes Git::SVN。显然,Perl 正确定位了 Git/SVN.pm;这表明至少某些 @INC 路径确实包含 git 和相应的 git-svn 模块。 homebrew package是什么被拾起。

链中的下一个是 Git::SVN::Utils在第 6 行导入 SVN::Core 从而触发崩溃。

注意没有 SVN/Core.pm 文件,Git-2.30.1 Homebrew bottle for Big Sure 中也没有。 (这就是你在 M1 上通过 brew install git 得到的结果)——在 Git 源代码中都没有!

那是因为它来自 separate library (SVN::Core,不是 Git::SVN::Core)。

问题2:git-svn需要安装libsvn-perl库,这是一个依赖。

你能找到/-path '*/SVN/Core.pm' 吗?依赖项是否安装在 Perl 未查找的位置?

问题 3:git Homebrew formula应该将依赖项声明到 libsvn-perl(有人应该首先创建和上传,因为我没有发现它已打包),或者将依赖项与 git 一起发送,例如在“瓶子”的 /git/2.30.2/share/perl5/FromCPAN/ 子目录中...因为它不存在。

我就不多说了。根据我的预感,发生的事情是没有人关心。 SVN 本身是上个世纪的技术(想一想); test section Git 公式确实会检查发送电子邮件是否有效,但会忽略 git-svn。

欢迎您为开源社区做出贡献。如果您愿意,请自行修复错误。

这与您的硬件无关。

关于git - 有人在 M1 CPU Mac 上成功运行 git-svn 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66524130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com