CPAN(シーパン、Comprehensive Perl Archive Network)とは、Perlのライブラリ・モジュールやその他のPerlで書かれたソフトウェアを集めた巨大なアーカイブで、世界中のサーバにその内容がミラーリングされている。再利用性・汎用性の高いモジュールが登録されており、Perlプログラマができるだけ車輪の再発明をせずに済むための支援環境となっている。登録モジュールの検索システムも提供されているため、Perlプログラマは望む機能を持ったモジュールを容易に入手することができる。
CPANには大小さまざまなモジュールが登録されており、それらの依存関係もデータベース化されている。目的のモジュールと同時に、それが依存するほかのモジュールを芋づる式にダウンロードし、インストールすることが可能である。Unix系OSおよびWindowsで利用できるCPANシェルという専用のソフトウェアが存在する。このシェルはユーザの手持ちのライブラリの管理、CPANミラーへの問い合わせ、モジュールのダウンロードを行うものであり、ユーザは少ないコマンド操作によってモジュールの検索・導入を行うことができる。
1993年12月にCTANのような管理システムを作ることが提案され、1995年10月に公開された。[1] CPANシェルを初めて使う場合、いくつかの設定が行われる。これには、モジュールのビルド・ダウンロード先のミラー指定などが含まれる。基本的に自動で最適なものが選択されるが、必要に応じてユーザが変更可能になっている。 実行にはcpan と入力するが、モジュールインストール時のパーミッションの関係でsudo cpan と入力されることが多い。 設定の変更を行う場合は、一度CPANシェルを実行した上でo conf オプション 変更値 の組み合わせによる入力を行う。変更を一時的なものにしないためにはo conf commit にて反映を行う。オプションについては同じくCPANシェルを実行した上でo conf と入力することで表示される。 権限が与えられていないアカウントではモジュールを標準のインストールディレクトリに入れることができないケースがあるため、その際はインストール先を変更する必要がある。モジュールの個別インストールにて、インストール時にディレクトリをオプションで指定することもできるが、現在はCPANのモジュールlocal::libを利用して、あらかじめインストール先を指定しておくケースが多い。
CPANシェル
脚注^ The Timeline of Perl and its Culture
関連項目
CTAN
CRAN
CEAN
この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}
表示
編集
表
話
編
歴
Perl
言語
Perl
Raku
人物
ラリー・ウォール
唐鳳
実装
Perl
perl
ActivePerl
Raku
Rakudo
Parrot
MoarVM
Pugs
フレームワーク
Catalyst
Mojolicious
Moose(英語版)
その他
CPAN
TMTOWTDI(英語版)
mod perl(英語版)
Plagger
Perl Mongers
カテゴリ
コモンズ
ウィキブックス
Portal:コンピュータ
表
話
編
歴
パッケージ管理システム
パッケージ形式(英語版)
Windows
Allmyapps(英語版)
Cygwin
Microsoftストア
Npackd
NSIS
ProGet
wpkg
macOS
Mac App Store
Unix系
dpkg
APT
aptitude
dselect(英語版)
Ubuntuソフトウェアセンター
RPM
YUM
DNF
APT-RPM(英語版)
up2date(英語版)
urpmi
Zypper
tar
slapt-get(英語版)
slackpkg(英語版)
netpkg
Swaret(英語版)
その他
AppImage
Autopackage(英語版)
Conary
Flatpak
Nix
PackageKit
Pacman
PBI
PETget
PISI
Portage
Snap
Upkg
Solaris
IPS(英語版)
Pkgutil
z/OS
SMP/E(英語版)
組み込みOS
ipkg
opkg
モバイルOS