git-svn 全新安装 macOS Catalina 10.15.4 后找不到 SVN/Core.pm

Posted

技术标签:

【中文标题】git-svn 全新安装 macOS Catalina 10.15.4 后找不到 SVN/Core.pm【英文标题】:git-svn Can't locate SVN/Core.pm after fresh installation of macOS Catalina 10.15.4 【发布时间】:2020-08-21 12:45:39 【问题描述】:

最近我重新安装了macOS Catalina 10.15.4。在我安装了Command_Line_Tools_11.4.1 之后,它告诉我 svn 不再使用 Xcode。然后我通过brew安装了git和svn,希望git-svn可以工作。不幸收到此错误消息:

在@INC 中找不到SVN/Core.pm(您可能需要安装SVN::Core 模块)(@INC 包含:/usr/local/Cellar/git/2.26.2/share/perl5 / Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level /Library/Developer/CommandLineTools/Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18/ darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.4 /System/库/Perl/5.18/darwin-thread-multi-2level /System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level /System/Library/Perl/Extras/5.18 。 ) 在 /usr/local/Cellar/git/2.26.2/share/perl5/Git/SVN/Utils.pm 第 6 行。

git 和 svn 都是最新版本。

请帮帮我。

【问题讨论】:

尝试install模块SVN::Core 在 Big Sur 11.4 上遇到同样的问题 - 在 M1 mac 上。已经通过 brew 安装了 git/svn/perl。尝试通过 cpan 安装 SVN::Core 但由于找不到 APR 和 APRUTIL 而失败 【参考方案1】:

MacOS Big Sur 11.5 解决方案

在与这个错误斗争了几个小时之后:

Can't locate SVN/Core.pm in @INC (you may need to install the SVN::Core module)

我终于找到了一个真正有效的解决方案。

如果你运行:

brew reinstall subversion

它会打印这样的消息:

The perl bindings are located in various subdirectories of:
  /usr/local/opt/subversion/lib/perl5

那么你只需要在使用git svn之前运行这个命令从正确的路径加载SVN模块:

export PERL5LIB=/usr/local/opt/subversion/lib/perl5/site_perl/5.30.2/darwin-thread-multi-2level

【讨论】:

【参考方案2】:

确保您已通过 Homebrew 安装 Perl、Subversion 和依赖项:

brew install perl subversion apr apr-util

将所需的 Perl 模块安装到 ~/perl5:

export PATH="/usr/local/opt/apr/bin:/usr/local/opt/apr-util/bin:$PATH"
PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib Git::SVN SVN::Core

通过以下方式验证已安装的模块:

PERL5LIB="$HOME/perl5" cpan -l | grep SVN

然后配置 Perl 如下(基于brew info perl 步骤):

eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"

最后运行 Git 的 SVN:

PERLLIB="$HOME/perl5" git svn clone https://svn.somecode.example.com/svn/trunk

如果您仍然卡住,请尝试使用 Git/SVN 进行迁移的 GitHub 和 GitLab 网站。

例如在 GitHub 中,创建一个新存储库,然后通过粘贴旧存储库的克隆 URL 来导入项目。

【讨论】:

【参考方案3】:

像我一样想在 macOS Catalina 上使用 Sourcetree 客户端和 git-svn 的人的解决方案:

第一步:

brew install git
brew install perl
brew install subversion

edit
/usr/local/Cellar/git/git_version/libexec/git-core/git-svn
replace
#!/usr/bin/perl
with
#!/usr/local/bin/perl

第二步,安装遗漏的 perl 模块:

cpan SVN::Core
cpan Term::ReadKey

第三步,配置SourceTree:

在Sourcetree->Preferences - 设置选项“使用系统git”,来自:

/usr/local/Cellar/git/git_version/git

【讨论】:

【参考方案4】:

虽然不是永久修复,但解决方法是设置 $GITPERLLIB:

$ export GITPERLLIB=/usr/local/Cellar/git/2.31.1/share/perl5:/usr/local/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level
$ git svn clone svn+ssh://...

为我工作,无需编辑 brew 安装的任何脚本。

【讨论】:

【参考方案5】:

终于明白了!!!

打开git-svn文件(perl脚本,在我的例子中文件位置是/usr/local/opt/git/libexec/git-core/git-svn),将第一行#!/usr/bin/perl改为#!/usr/local/bin/perl

而且它有效!

我猜系统 perl 不包括 perl SVN/Core,但是 brew perl 有它(brew svn 的依赖)。

【讨论】:

我不太喜欢这个解决方案,但它确实有效,而且我发现的所有其他解决方案都比我能说的要多。 生活更安全!让我想起几年前我最后一次不得不使用颠覆(因此求助于 git-svn)并且由于缺少模块或 git-svn 脚本中的一些错误而出现相同的(?!)perl错误。谢谢。 (后注:仍然需要@Torello 下面提到的cpan Term::ReadKey 命令。)

以上是关于git-svn 全新安装 macOS Catalina 10.15.4 后找不到 SVN/Core.pm的主要内容,如果未能解决你的问题,请参考以下文章

OpenCore(OC)引导升级/全新安装macOS Big Sur 11.0指南

10.12怎么制作U盘,全新安装,macOS 交流区

制作 macOS Sierra 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)

MacOS homebrew mysql root密码

Here for macOS - 全新的 macOS 效率工具,近日迎来 Beta 8 更新

Linux实用命令之git-svn