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

刚开始用mac,啥都不知道,原来它自带了git,svn;但是我用sourcetree,还有apicloud studio2都会报错,


Can't locate SVN/Core.pm in @INC (you may need to install the SVN::Core module) (@INC contains: 
/usr/local/git/lib/perl5/site_perl /Applications/SourceTree.app/Contents/Resources/git_local/lib/perl5/site_perl /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.2 /System/Library/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 .) at /Applications/SourceTree.app/Contents/Resources/git_local/lib/perl5/site_perl/Git/SVN/Editor.pm line 5.
BEGIN failed--compilation aborted at /Applications/SourceTree.app/Contents/Resources/git_local/lib/perl5/site_perl/Git/SVN/Editor.pm line 5.
Compilation failed in require at /Applications/SourceTree.app/Contents/Resources/git_local/libexec/git-core/git-svn line 81.
BEGIN failed--compilation aborted at /Applications/SourceTree.app/Contents/Resources/git_local/libexec/git-core/git-svn line 81.
Completed with errors, see above

缺少文件,

昨天用mysql,也是总报错2059缺少文件,头秃呀。。。

同事说,上上个人走的时候,删了好多东西,可能他干了什么吧,哼,画个圈圈诅咒他,不对,是删了文件的那个人!!!

最后,找到了一个成功解决SVN错误的方法:


sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level/SVN/ /Library/Perl/5.18/SVN

sudo mkdir /Library/Perl/5.18/auto

sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.18/darwin-thread-multi-2level/auto/SVN/ /Library/Perl/5.18/auto/SVN


好了,没有报错了,开心!然后,去看了一下,这命令啥意思。这个命令在linux中很重要。它的功能是为某一个文件或目录在另外一个位置建立一个同步的链接,类似Windows下的超级链接。


这个命令最常用的参数是-s,具体用法是:

sudo ln -s 源文件 目标文件 

举例:sudo ln -s /usr/local/linux/work  /local/linkwork

删除链接

rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/ 

那么上面就是rm -rf   /local/linkwork

       链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。

  在硬链接的情况下,参数中的“目标”被链接至[链接名]。如果[链接名]是一个目录名,系统将在该目录之下建立一个或多个与“目标”同名的链接文件,链接文件和被链接文件的内容完全相同。如果[链接名]为一个文件,用户将被告知该文件已存在且不进行链接。如果指定了多个“目标”参数,那么最后一个参数必须为目录。

  如果给ln命令加上- s选项,则建立符号链接。如果[链接名]已经存在但不是目录,将不做链接。[链接名]可以是任何一个文件名(可包含路径),也可以是一个目录,并且允许它与“目标”不在同一个文件系统中。如果[链接名]是一个已经存在的目录,系统将在该目录下建立一个或多个与“目标”同名的文件,此新建的文件实际上是指向原“目标”的符号链接文件。


文章参考链接:

https://www.cnblogs.com/whlives/p/5331757.html

https://blog.csdn.net/will5451/article/details/51323999

猜你喜欢

转载自blog.csdn.net/qq_33242126/article/details/80277734