2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Homebrewでインストールした git svn で Can't locate SVN/Core.pm となるのを解決する

Last updated at Posted at 2021-05-15

###サクッと解決したい

動作環境

macOS Big Sur バージョン 11.4
MacBook Pro(2016)
プロセッサ 2.9 GHz デュアルコアIntel Core i5
メモリ 16 GB

brew, git, subversion, perlのインストール状況

  • brew
$ which brew
/usr/local/bin/brew

$ brew --version
Homebrew 3.1.12-75-ge71a0ed
Homebrew/homebrew-core (git revision 338328ef72; last commit 2021-06-17)
Homebrew/homebrew-cask (git revision 4eea6257b9; last commit 2021-06-16)
  • git
$ which git
/usr/local/bin/git

$ brew info git
git: stable 2.32.0 (bottled), HEAD
Distributed revision control system
https://git-scm.com
/usr/local/Cellar/git/2.32.0 (1,517 files, 42.0MB) *
  Poured from bottle on 2021-06-10 at 10:02:58
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/git.rb
License: GPL-2.0-only
...省略...
  • subversion
$ which svn
/usr/local/bin/svn

$ brew info subversion
subversion: stable 1.14.1 (bottled), HEAD
Version control system designed to be a better CVS
https://subversion.apache.org/
/usr/local/Cellar/subversion/1.14.1_2 (234 files, 32.1MB) *
  Poured from bottle on 2021-05-23 at 13:33:41
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/subversion.rb
License: Apache-2.0
...省略...
The perl bindings are located in various subdirectories of:
  /usr/local/opt/subversion/lib/perl5
...省略...
  • /usr/local/opt/subversion/lib/perl5にperl関連のモジュールがあるのかもしれない?

  • perl

$ which perl
/usr/bin/perl

$ brew info perl
perl: stable 5.34.0 (bottled), HEAD
Highly capable, feature-rich programming language
https://www.perl.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/perl.rb
License: Artistic-1.0-Perl or GPL-1.0-or-later
...省略...
  • brew版のperlはインストールしていない。

調査開始

  • git svn --versionするとCan't locate SVN/Core.pmと表示される。
$ git svn --version
Can't locate SVN/Core.pm in @INC (you may need to install the SVN::Core module) (@INC contains: /usr/local/Cellar/git/2.31.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 /Library/Perl/5.28/darwin-thread-multi-2level /Library/Perl/5.28 /Network/Library/Perl/5.28/darwin-thread-multi-2level /Network/Library/Perl/5.28 /Library/Perl/Updates/5.28.2 /System/Library/Perl/5.28/darwin-thread-multi-2level /System/Library/Perl/5.28 /System/Library/Perl/Extras/5.28/darwin-thread-multi-2level /System/Library/Perl/Extras/5.28) at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN/Utils.pm line 6.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN/Utils.pm line 6.
Compilation failed in require at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN.pm line 25.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN.pm line 32.
Compilation failed in require at /usr/local/Cellar/git/2.31.1/libexec/git-core/git-svn line 23.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/libexec/git-core/git-svn line 23.
  • 現在の/usr/local/Cellar/git/2.31.1/share/perl5ディレクトリ
$ ls -l /usr/local/Cellar/git/2.31.1/share/perl5
drwxr-xr-x  FromCPAN/
drwxr-xr-x  Git/
-rw-r--r--  Git.pm
drwxr-xr-x  Net/
  • /usr/local/Cellar/git/2.31.1/share/perl5/SVN/Core.pmがあれば動きそうなのでSVN/Core.pmを探してシンボリックリンクを作成する。

  • Core.pmの場所を探す。

$ find -L /usr -name 'Core.pm' | grep '/usr/local/opt/subversion/lib/perl5'
find: /usr/sbin/authserver: Permission denied
find: /usr/lib/cron/tabs: Permission denied
/usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/SVN/Core.pm
find: /usr/lib/cron/tmp: Permission denied
  • /usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/SVNのシンボリックリンクを/usr/local/Cellar/git/2.31.1/share/perl5に作成する。
ln -sf \
    /usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/SVN \
    /usr/local/Cellar/git/2.31.1/share/perl5
  • ここでgit svn --versionするとCan't locate loadable object for module SVN::_Coreと表示される。Can't locate SVN/Core.pmは表示されなくなった。
$ git svn --version
Can't locate loadable object for module SVN::_Core in @INC (@INC contains: /usr/local/Cellar/git/2.31.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 /Library/Perl/5.28/darwin-thread-multi-2level /Library/Perl/5.28 /Network/Library/Perl/5.28/darwin-thread-multi-2level /Network/Library/Perl/5.28 /Library/Perl/Updates/5.28.2 /System/Library/Perl/5.28/darwin-thread-multi-2level /System/Library/Perl/5.28 /System/Library/Perl/Extras/5.28/darwin-thread-multi-2level /System/Library/Perl/Extras/5.28) at /usr/local/Cellar/git/2.31.1/share/perl5/SVN/Base.pm line 59.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/share/perl5/SVN/Core.pm line 5.
Compilation failed in require at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN/Utils.pm line 6.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN/Utils.pm line 6.
Compilation failed in require at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN.pm line 25.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/share/perl5/Git/SVN.pm line 32.
Compilation failed in require at /usr/local/Cellar/git/2.31.1/libexec/git-core/git-svn line 23.
BEGIN failed--compilation aborted at /usr/local/Cellar/git/2.31.1/libexec/git-core/git-svn line 23.
  • _Coreの場所を探す。
$ find -L /usr -name '_Core' | grep '/usr/local/opt/subversion/lib/perl5'
find: /usr/sbin/authserver: Permission denied
find: /usr/lib/cron/tabs: Permission denied
/usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/auto/SVN/_Core
find: /usr/lib/cron/tmp: Permission denied
  • /usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/autoのシンボリックリンクを/usr/local/Cellar/git/2.31.1/share/perl5に作成する。
ln -sf \
    /usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/auto \
    /usr/local/Cellar/git/2.31.1/share/perl5
  • 現在の/usr/local/Cellar/git/2.31.1/share/perl5ディレクトリ
$ ls -l /usr/local/Cellar/git/2.31.1/share/perl5
drwxr-xr-x  FromCPAN/
drwxr-xr-x  Git/
-rw-r--r--  Git.pm
drwxr-xr-x  Net/
lrwxr-xr-x  SVN@ -> /usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/SVN
lrwxr-xr-x  auto@ -> /usr/local/opt/subversion/lib/perl5/site_perl/5.28.2/darwin-thread-multi-2level/auto
  • git svn --versionの確認。
$ git svn --version
git-svn version 2.31.1 (svn 1.14.1)
  • Subversionリポジトリからpullできるかを確認。
$ git svn rebase
Current branch main is up to date.
  • /usr/local/opt/subversion/lib/perl5/site_perl/のバージョンと/usr/local/Cellar/git/のバージョンが変更されたら.../SVN.../autoのシンボリックリンクを作り直す。
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?