为什么plenv install-cpanm安装到错误的位置?

oal*_*ers 5 perl cpanm plenv

我的plenv设置发生了一些古怪的事情,我没有理解它.

plenv install-cpanm
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
100  297k  100  297k    0     0  1571k      0 --:--:-- --:--:-- --:--:-- 1567k
!
! Can't write to /Library/Perl/5.18 and /usr/local/bin: Installing modules to /Users/olaf/perl5
! To turn off this warning, you have to do one of the following:
!   - run me as a root or with --sudo option (to install to /Library/Perl/5.18 and /usr/local/bin)
!   - Configure local::lib in your existing shell to set PERL_MM_OPT etc.
!   - Install local::lib by running the following commands
!
!         cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
!
App::cpanminus is up to date. (1.7042)

$ plenv which cpanm
plenv: cpanm: command not found

$ find /Users/olaf | grep bin/cpanm
/Users/olaf/.cpanm/work/1482416411.97013/App-cpanminus-1.7042/bin/cpanm
/Users/olaf/.cpanm/work/1482416863.23085/App-cpanminus-1.7042/bin/cpanm
/Users/olaf/perl5/bin/cpanm

$ find /Users/olaf/.plenv | grep cpanm
/Users/olaf/.plenv/libexec/plenv-install-cpanm
/Users/olaf/.plenv/plenv.d/rehash/rehash_cpanm.bash
Run Code Online (Sandbox Code Playgroud)

我希望cpanm安装在某个地方~/.plenv,但这不会发生.我猜我的点文件/ shell设置中的东西/ $ENV搞砸了?

这就是我的$ENV样子:

env | grep PLENV
PLENV_SHELL=bash
Run Code Online (Sandbox Code Playgroud)

另外,我的开头PATH是:

PATH=/Users/olaf/.plenv/shims:/Users/olaf/.plenv/bin

oal*_*ers 2

在宫川达彦的帮助下我解决了这个问题。事实证明,我已经通过 Perl 切换到系统plenv,并期望它能够以与为plenv您安装的 Perls 相同的方式处理模块安装。解决方案只是选择我之前通过 plenv() 安装的 Perl 版本,plenv local 5.24.0然后安装到plenv install-cpanm. Tatsuhiko Miyakawa 还指出,我需要install-cpanm为我安装的每个版本的 Perl 进行安装。