m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

plenvのcpanmインストールでエラー

インストールできない

[vagrant@localhost ~]$ plenv install-cpanm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
113   226  113   226    0     0     13      0  0:00:17  0:00:16  0:00:01  6647
Bareword found where operator expected at - line 3, near "400 Bad"
        (Missing operator before Bad?)
Bareword found where operator expected at - line 6, near "<p>Your"
        (Missing operator before Your?)
syntax error at - line 2, near "html>"
Execution of - aborted due to compilation errors.
[vagrant@localhost ~]$

ちょっとスクリプトを確認

[vagrant@localhost ~]$ ll /usr/local/plenv/libexec/*cpanm*
-rwxr-xr-x 1 vagrant vagrant 1376 Apr 28 02:49 /usr/local/plenv/libexec/plenv-install-cpanm
[vagrant@localhost ~]$

これの中身を確認してみる

ソース内
・
・
・

curl -L http://cpanmin.us/ | plenv exec perl - App::cpanminus
plenv rehash
http://cpanmin.us/へアクセス

f:id:m_shige1979:20140428124544j:plain

なんかURLがおかしい?

多分、rewriteかなんかで置き換えているのだと思うけど。標準のcurlの設定では取得できないのかな?

タブーを犯す

#curl -L http://cpanmin.us/ | plenv exec perl - App::cpanminus
curl -L https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm | plenv exec perl - App::cpanminus
plenv rehash

一時的に内部のURLをリダイレクト先に置き換え

[vagrant@localhost ~]$ plenv install-cpanm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  262k  100  262k    0     0  50305      0  0:00:05  0:00:05 --:--:-- 1759k
--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7004.tar.gz ... OK
Configuring App-cpanminus-1.7004 ... OK
Building and testing App-cpanminus-1.7004 ... OK
Successfully installed App-cpanminus-1.7004
1 distribution installed
[vagrant@localhost ~]$


なんとかうまくいきました

どちらかの設定がおかしいせいで問題が起きている用

内部のソース先がちょっとずれているのかな?