Это правда, что некоторые пакеты под UNIX требуют, чтобы пользователь «корень». При установке Template :: Toolkit это вызвало AppConfig, который выпрыгнул с:
You may have to su to root to install the package
(Or you may want to run something like
o conf make_install_make_command 'sudo make'
to raise your permissions.
Cygwin не UNIX. Это всего лишь набор утилит UNIX для Cygwin. Существует нет корень пользователь и нет sudo и нет способа подделать его. Если вы запустили Bash в качестве администратора, это не повлияло на то, чтобы как-то стать root. (На самом деле это может быть опасно.)
Действительная проблема заключалась в том, что /USR/человек/man3 не имеет права:
> ls -ls /usr/share/man
total 1.2M
384K d--------- 1 spindlea Domain Users 0 Oct 29 18:55 man1/
768K d--------- 1 spindlea Domain Users 0 Oct 29 18:55 man3/
8.0K d--------- 1 spindlea Domain Users 0 Oct 29 12:35 man5/
12K d--------- 1 spindlea Domain Users 0 Oct 6 16:26 man7/
12K d--------- 1 spindlea Domain Users 0 Oct 29 12:35 man8/
0 d--------- 1 spindlea Domain Users 0 Oct 6 16:26 mann/
Так люди-страница не может быть установлена. Причина: C:/Cygwin был распакован из архива. В файловых системах NTFS Cygwin по умолчанию реализует разрешения UNIX для ACL Windows (хотя их нельзя увидеть на вкладке «Безопасность»). Они не сохранились в ZIP-архиве.
Для восстановления права использовать что-то вроде:
> chmod -R 755 /usr/bin # sets -rwxr-xr-x
> chmod -R 755 /usr/local/bin # sets -rwxr-xr-x
> find /bin -type d -print -exec chmod 777 {} \;
> find /etc -type d -print -exec chmod 777 {} \;
> find /usr -type d -print -exec chmod 777 {} \;
.
.
проблема ушла. Установка прошла без проблем. CPAN смог удовлетворить все зависимости.
Нет «Возможно, вам больше не придется устанавливать root для установки пакетов».
Чтобы выяснить, механизмы сборки могут быть установлены в локальные каталоги (которые вы сами), а не в системные каталоги (которые доступны только для чтения, поскольку они затрагивают всех пользователей), но механизмы их установки в новом месте различаются. local :: lib знает, как обрабатывать их все, и в качестве дополнительного бонуса обновляет ваш путь включения Perl. – ijw
И ваш исполняемый путь, чтобы вы могли найти сценарии, которые устанавливают некоторые модули (например, Perl :: Tidy). –