PERL:Unicode字符串:权限被拒绝

PERL:Unicode字符串:权限被拒绝,perl,module,permission-denied,unicode-string,Perl,Module,Permission Denied,Unicode String,我使用Perl编程,需要安装Unicode字符串。但是makeinstall告诉我: 在blib/arch中找到的文件:将blib/lib中的文件安装到 依赖于体系结构的库树 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 错误:无法创建 “/Library/Perl/5.16/darwin-thread-multi-2level/Unicode”mkdir /Library/Perl/5.16/d

我使用Perl编程,需要安装Unicode字符串。但是makeinstall告诉我:

在blib/arch中找到的文件:将blib/lib中的文件安装到 依赖于体系结构的库树 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 错误:无法创建 “/Library/Perl/5.16/darwin-thread-multi-2level/Unicode”mkdir /Library/Perl/5.16/darwin-thread-multi-2level/Unicode:Permission 在/System/Library/Perl/5.16/ExtUtils/Install.pm第494行被拒绝

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at-e第1行。make:**[纯站点安装]错误13

有人遇到过这个问题吗?

/Library是一个系统目录。修补系统自己的Perl发行版是个坏主意。如果出了什么问题,你会有很多清理工作要做

因此,构建您自己的Perl。您只需下载适当的源代码发行版,然后运行./Configure-help并阅读说明

或者,你可以这样做:

$ ./Configure -des -Dprefix=/Users/user/perl/5.xx.x make make test make install 我喜欢将符号链接放在~/bin中,以便perl5.xx.x调用~/perl/5.xx.x/bin/perl


不要在系统目录中安装模块。我相信推荐的人的意思是好的,但这样做会在某个时候造成麻烦。

很明显,运行make的用户没有在该位置创建目录的权限。更换用户?或sudo。您需要权限才能安装到/Library/。尝试使用sudo make install,或者更改安装前缀。Thx,我尝试了sudo make install,它显示sudo make install Unicode::string Password:make:**没有规则将目标设置为'install'。停止更改安装前缀是什么意思?建议使用sudo可能是出于好意,但却是有害的。不要弄乱OSX系统Perl。相反,在用户目录中安装您自己的Perl,我使用$HOME/Perl/5.xx.x,并使用它。看看你是否需要帮助。或者更好的方法是,简单地使用@SteffenUllrich。我不赞成任何人在不了解perlbrew的幕后功能的情况下使用它。而且,尽管我非常喜欢它,但我三次都试图始终如一地使用它,结果都是在一段时间后擦了~/perl5。这对我没有任何帮助。所以,更好更简单的是在旁观者的眼里。谢谢大家对你的回应!问题是它没有找到当前activeperl 20的模块,我重新下载了activeperl 18,并使用命令/usr/local/activeperl-5.18/bin/ppm install unicode string重新安装了unicode::string,现在它工作正常。 $ ~/perl/5.xx.x/bin/perl Makefile.PL make test make install