我记得我已经使用 安装了 Perl::Rename,cpan -i File::Rename
并且事实上我在那里有$HOME/perl5/bin
和rename
可执行unsafe-rename
文件。
但当我尝试使用时rename
,
# Expected: Renames FooBar.txt to Foo_Bar.txt
# It worked for me in the past
rename 's/\s/_/' *.txt
...有一个错误:
Can't locate File/Rename.pm in @INC (you may need to install the File::Rename module) (@INC contains: /Library/Perl/5.34/darwin-thread-multi-2level /Library/Perl/5.34 /Network/Library/Perl/5.34/darwin-thread-multi-2level /Network/Library/Perl/5.34 /Library/Perl/Updates/5.34.1 /System/Library/Perl/5.34/darwin-thread-multi-2level /System/Library/Perl/5.34 /System/Library/Perl/Extras/5.34/darwin-thread-multi-2level /System/Library/Perl/Extras/5.34) at ./rename line 4.
BEGIN failed--compilation aborted at ./rename line 4.
然后我尝试File::Rename
使用相同的命令重新安装,但又出现了另一条错误消息,非常长。以下是最后的一部分:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/Library/Perl/5.34/File'
mkdir /Library/Perl/5.34/File: Permission denied at /System/Library/Perl/5.34/ExtUtils/Install.pm line 470.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1.
make: *** [pure_site_install] Error 13
RMBARKER/File-Rename-2.02.tar.gz
/usr/bin/make install -- NOT OK
这里发生什么事了?
Perl 本身是 macOS 附带的。我没有安装它。
首次
cpan
以非超级用户身份运行时,并且按照local::lib
提示选择了方法,它会告诉您类似的信息:您需要这样做
perl
才能知道在哪里可以找到所安装的模块cpan
。cpan
如果以 root 身份运行,也可以在系统范围内安装,但您可能更喜欢使用系统原生的软件包安装方法(apt
,dnf
...取决于系统),即使这可能意味着获得旧版本的 perl 模块或更好地集成,或者您已经在 macos 上使用过诸如 homebrew/macports 之类的模块,以避免必须在另一个打包系统中维护软件包。