perl - 无法为“local::lib”创建目录
问题描述
我已经从 cpan 安装了 local::lib。但是再次手动进行引导 - perl Makefile.PL −−bootstrap
。lib.pm
虽然我在这里已经有一个文件/usr/share/perl5/local/lib.pm
,但在尝试引导它(使用上面提到的命令)时会出现此错误:
Loading internal logger. Log::Log4perl recommended for better logging
Attempting to create directory /home/shepherd/perl5
Unable to create /home/shepherd/perl5/lib/perl5/5.28.0: No such file or directory at /usr/share/perl5/local/lib.pm line 717.
因此,如果我已经安装了模块,并且它可能是目录,为什么引导程序无法创建/home/shepherd/perl5/lib/perl5/5.28.0
?
I have and own this files:
ls -l ~/perl5
drwxrwxr-x 2 root root 4096 Nov 18 23:03 bin
drwxrwxr-x 3 root root 4096 Oct 28 18:52 lib
drwxrwxr-x 4 root root 4096 Oct 28 18:52 man
ls -l ~/perl5/lib
drwxrwxr-x 25 root root 4096 Nov 21 08:56 perl5
ls -l ~perl5/lib/perl5
drwxrwxr-x 2 root root 4096 Nov 20 19:54 B
drwxrwxr-x 3 root root 4096 Nov 21 08:56 Business
drwxrwxr-x 3 root root 4096 Oct 28 19:08 Class
drwxrwxr-x 2 root root 4096 Nov 20 19:54 Config
drwxrwxr-x 3 root root 4096 Oct 28 19:09 Devel
drwxrwxr-x 2 root root 4096 Oct 28 19:08 Dist
drwxrwxr-x 3 root root 4096 Nov 20 19:54 File
drwxrwxr-x 2 root root 4096 Nov 20 19:54 Hook
-r--r--r-- 1 root root 42537 Feb 18 2018 Importer.pm
drwxrwxr-x 3 root root 4096 Oct 28 19:10 IPC
drwxrwxr-x 3 root root 4096 Nov 18 23:03 Log
drwxrwxr-x 3 root root 4096 Nov 20 20:48 Mac
drwxrwxr-x 3 root root 4096 Oct 28 19:09 MIME
drwxrwxr-x 3 root root 4096 Oct 28 18:52 Module
-r--r--r-- 1 root root 967 Sep 6 16:40 ok.pm
drwxrwxr-x 2 root root 4096 Nov 19 23:13 OLE
drwxrwxr-x 3 root root 4096 Oct 28 19:08 Perl
drwxrwxr-x 3 root root 4096 Oct 28 19:09 POD2
drwxrwxr-x 2 root root 4096 Oct 28 19:09 Scope
drwxrwxr-x 2 root root 4096 Nov 20 19:56 String
drwxrwxr-x 2 root root 4096 Nov 20 19:54 Task
drwxrwxr-x 3 root root 4096 Oct 28 19:09 Term
drwxrwxr-x 9 root root 4096 Nov 20 19:54 Test
drwxrwxr-x 10 root root 4096 Oct 28 19:09 Test2
-r--r--r-- 1 root root 6393 Sep 6 16:40 Test2.pm
drwxrwxr-x 7 root root 4096 Nov 20 19:55 x86_64-linux-gnu-thread-multi
解决方案
local::lib 误报错误原因。在这种特殊情况下,问题在于运行程序 ( shepherd
) 的用户没有写入权限以/home/shepherd/perl5/lib/perl5
创建/home/shepherd/perl5/lib/perl5/5.28.0
.
用户将需要被授予写入该目录的能力。这可能应该通过将文件的所有权从 更改为 来root
完成shepherd
。
chown -R shepherd:shepherd ~/perl5
推荐阅读
- firebase - 如何从 Flutter 和 Firestore 中“Y”集合的文档 ID 查询“X”集合的文档
- python - 基于列唯一值创建新数据框
- flutter - Flutter:将输出值增加 1 - 但仅在相应创建的小部件中
- reactjs - React Native View Component 文档中缺少 Layout Props
- javascript - 单击时将图标添加到图像
- javascript - 使用异步、Foreach 和 arguments.callee
- c# - ASP.NET Core MVC:自定义 HtmlHelper 添加部分
- html - 如何在导航栏左侧放置文本而不影响右侧按钮?
- stepper - 你能在断电期间在 A4988 中保留微步吗
- c - 链表中节点的地址和节点的数据是否相同