O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

最近のPerlバイナリマネージャー Perl 編

937 visualizações

Publicada em

ll event 2018

Publicada em: Engenharia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

最近のPerlバイナリマネージャー Perl 編

  1. 1. 最近のPerlバイナリマ ネージャー Perl 編 @tokuhirom LINE Corporation
  2. 2. 自己紹介 • Shibuya.pm の方から来ました • Principal server side engineer@LINE Corp • Author of plenv • CPAN module を100個ぐらい書いた • Committer of the Perl6
  3. 3. 歴史 • 人々は手で perl をビルドしていた • 複数バージョンのインストール/管理が面倒 • ビルド手順が面倒
  4. 4. Perl = CPAN Module を使うための DSL
  5. 5. 非プログラマー職の ユーザーが多い
  6. 6. めっちゃ古い Perl で 動かないというバグレ ポートがめっちゃ来る
  7. 7. perlbrew の登場 • Feb. 2010 • curl -L https://install.perlbrew.pl | bash • perlbrew install 5.23.0
  8. 8. perlbrew でできること • ダウンロード • ビルド • インストール • 複数バージョンの管理
  9. 9. perlbrew の問題点 • コマンドの起動が遅い • perlbrew コマンド自体が perl で実装されてるからコマ ンド実行時に perl が毎回走る
  10. 10. ruby などでは rbenv が流行り始めた • pure shell script なので速そう!
  11. 11. • cp -a rbenv/ plenv/ • perl -i -pe ’s/rbenv/plenv/g; s/ruby/perl/g’ plenv/**/*
  12. 12. plenv has great new features • アプリケーション単位で perl のバージョンをかえられる • .plenv in current directory • 環境変数でバージョンきりかえ • perlbrew 重い • pure bash script • 挙動がわかりやすい
  13. 13. 切り替え • plenv local 5.8.2 • ./.perl-version • plenv global 5.8.2 • export PLENV_VERSION=5.8.2
  14. 14. perl-build
  15. 15. perl-build • perl binary をビルドするやつ。便利。 perl-build 5.26.2 /opt/perl-5.26/ curl -L https://raw.githubusercontent.com/tokuhirom/Perl- Build/master/perl-build | perl - 5.26.2 /opt/perl-5.26/
  16. 16. 最近のイシュー • search.cpan.org から tar ball の url を検出する機能 • search.cpan.org が終わった……
  17. 17. Devel::PatchPerl • 古いバージョンの Perl に対するパッチ集 • CPAN に上がっている • 有志でメンテされている • Security fix のバックポート • 最近のshell で動かなくなったshell script • 7500行ぐらいのモジュール
  18. 18. Perl6 はどうなの?
  19. 19. rakudobrew • git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew • export PATH=~/.rakudobrew/bin:$PATH • rakudobrew init • rakudobrew build moar • rakudobrew build zef • rakudobrew rehash
  20. 20. Perl6 のライブラリはど うインストールするの ?
  21. 21. panda was gone
  22. 22. zef • zef install CSV::Parser
  23. 23. まとめ • plenv 便利 • rakudobrew 便利 • Perl6 の場合は zef を使おう

×