Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS Catalina対応 #46

Open
12 tasks
sironekotoro opened this issue Oct 9, 2019 · 27 comments
Open
12 tasks

macOS Catalina対応 #46

sironekotoro opened this issue Oct 9, 2019 · 27 comments

Comments

@sironekotoro
Copy link

sironekotoro commented Oct 9, 2019

年々、開発環境構築が厳しくなるmacOSですが、2019年10月にリリースされた新OS Catalinaについてです。

System Perlがない問題

  • Mac所持者は第1回第2部からの参加でokといってきたが、ここを変更する必要がありそう

  • 2015年までは、Macではplenvをインストールするために、「Xcode」と「Command Line Tools for Xcode」をインストールしていた

  • Perlのインストール方法

    • relocatable-perl
    • plenv
      • インストール手順
      • 初手Git
        • Catalinaにデフォルトでインストールされているか?
      • モジュール入れた後にコマンドが追加される場合、plenv rehashが必要なのを受講生さんが覚えていてくれるか
        • うちは忘れていて、動かない動かないと悩んだことがある
    • Homebrew経由でPerlインストール
  • Mojoliciousとかインストールできる?

    • mojoコマンドは動く?
    • cpanm はcurlコマンド経由でインストール
      • さすがにcurlは入っているだろう・・・多分

標準シェルがbashからzshになる問題

  • そんなに複雑なコマンドは使っていないので、多分、大丈夫なはず
  • local::lib 使ってMojoliciousインストールするところが大丈夫かは確認

標準フォントが変わった問題

  • スライドの見栄えが大きく変わっていないか?

チェック項目

  • macOS CatalinaにGitがインストールされているか?

  • macOS Catalinaに本当にSystem Perl, Rubyがないか?

    • $ which perlなどで確認
  • macOS Catalinaの素の状態でplenvによるPerlインストールが可能か?

    • xcodeやコマンドラインツールは必要になるか?
  • macOS Catalinaの素の状態でrelocatable-perlによるPerlインストールが可能か?

  • macOS Catalinaの素の状態でHomebrewがインストールできるか?

    • Homebrew経由でPerlがインストールできるか?
  • (時間があれば)それぞれのPerlで確認(現行の第5回の内容)

    • cpanmのインストール
    • local::libのインストール
    • Mojoliciousのインストール
    • morboコマンドによるhttpサーバの起動
@mahoyaya
Copy link
Contributor

mahoyaya commented Oct 9, 2019

色々試行錯誤してカスタムするのも愛着がわきますが、素直にdockerを使ってローカルディスクをマウントしたらいいのではと思いました。
どちらにしろ検証が必要なのとセキュリティ面の配慮は必要ですが、うまくいけばトラブルも減ると思います。

@yuki-kimoto
Copy link

質問なのですが、僕は普段Linuxでperlbrew入れてて、簡単だと思う(makeとgccがあれば、30分以内くらいでインストールが終わります)のですが、

Mac OS に plenvを入れるのって、そんなに大変なんですか?

ユーザーによって、そんなに環境差分がありますか?

@yuki-kimoto
Copy link

macOS Catalinaに本当にSystem Perl, Rubyがないか?

https://arstechnica.com/gadgets/2019/10/macos-10-15-catalina-the-ars-technica-review/3/

For years now, Apple has shipped runtimes for the Python, Perl, and Ruby programming languages to allow users to run scripts written in those languages without performing any additional installs

Perlありそう?

@sironekotoro
Copy link
Author

sironekotoro commented Oct 9, 2019

Macにplenvを入れるのは簡単なんですが、昔はplenvを入れるためにMacの統合開発環境であるXcodeとコマンドラインツールが必要だったんですね。
とすると、ダウンロードとインストールに結構な時間がかかるとおもわれます。

plenvのインストールに、今もXcodeその他が必要かはCatalinaインストールして確認します。

週末に試しますが、Catalinaをクリーンインストールして、Perl残っていれば今回はセーフっていってもいい感じです。ただ、Appleはスクリプト系の言語をmacOSに同梱するの拒む姿勢は変わりないみたいなんで、どっちにしろ解決策が必要そう

@xtetsuji
Copy link
Member

xtetsuji commented Oct 9, 2019

Swift 開発環境としての IDE である Xcode 本体と、そのサブセット(?)である Xcode Command Line Tools を分けて言うと、数GBの前者ではなく100MB程度の後者のみのインストールで良いということになりますね。

Catalina でも、後者の Xcode Command Line Tools のみ入れると、make や gcc (clang) だけでなく perl も入ってしまった!という場合は、いったんそれで凌ぐこともできそうです。ただ、Mojave からのシステム Perl のハマリポイントも考えると、独自に Perl を入れることは引き続き検討していきたいです。

@yuki-kimoto
Copy link

なるほど、XCodeが昔は必要だったのですね。どこかのバージョンで、Xcode Command Line Toolsだけ、インストールできるようになったと。

@sironekotoro
Copy link
Author

昨晩から今朝にかけて、外付けHDDのフォーマットとCatalinaのダウンロードまではできたので台風で引きこもりつつ検証できそうです。

ただ、CatalinaにPerl5.18.4が同梱されている、という情報も上がってきたので、急ぎではなくなったかもしれません。

しかし、いずれPerlが同梱されなくなった場合の準備は必要そうです。

macOS 10.15 Catalina 19A583にはPython 2.7.16、Ruby 2.6.3p62、Perl 5.18.4が同梱されるも、Python 2.7の使用は非推奨で”python3″を推奨。

@sironekotoro
Copy link
Author

チェック項目

  • macOS CatalinaにGitがインストールされているか?
    • インストールされていない。Terminalでgitコマンドを入力すると、コマンドライン・デベロッパーツールのインストールを促すメッセージが表示される。

image

  • macOS Catalinaに本当にSystem Perl, Rubyがないか?
    • それぞれ、以下のバージョンがインストールされている
      • Perl 5.18.4
      • Python 2.7.16
      • Ruby 2.6.3p62
    • $ which perlなどで確認
      - /usr/bin/perl
      image

というわけで、CatalinaにはSystem Perlが同梱されており、今のところは杞憂だった模様。

ただ、せっかく環境を作ったので少し検証する。

  • macOS Catalinaの素の状態でplenvによるPerlインストールが可能か?
$ curl -o plenv.tar.gz -L https://github.com/tokuhirom/plenv/archive/master.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   123    0   123    0     0    100      0 --:--:--  0:00:01 --:--:--   100
100 25660    0 25660    0     0   8739      0 --:--:--  0:00:02 --:--:-- 18447
$ mkdir ~/.plenv                                                       
$ tar --directory ~/.plenv --strip-components=1 -zxvf plenv.tar.gz
(中略)
$ echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.zshrc 
$ echo 'eval "$(plenv init - zsh)"' >> ~/.zshrc
$ exec $SHELL -l
$ curl -o perl-build.tar.gz -L https://github.com/tokuhirom/Perl-Build/archive/master.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   128    0   128    0     0    156      0 --:--:-- --:--:-- --:--:--   156
100  296k    0  296k    0     0  95015      0 --:--:--  0:00:03 --:--:--  157k
$ mkdir -p ~/.plenv/plugins/perl-build
$ tar --directory ~/.plenv/plugins/perl-build --strip-components=1 -zxvf perl-build.tar.gz
$ plenv install 5.30.0
Installing 5.30.0 as 5.30.0
  • しかし、gccのインストールを促すメッセージ(コマンドラインツール)が出る。

スクリーンショット 2019-10-11 22 54 50

  • xcodeやコマンドラインツールは必要になるか?

    • 必要になる模様
  • macOS Catalinaの素の状態でrelocatable-perlによるPerlインストールが可能か?

    • 可能。xcodeの追加インストールは求められなかった。
$ curl -fsSL https://git.io/perl-install | bash -s ~/perl
Installing perl 5.30.0.3 to /Users/sironekotoro/perl, this may take a while...
Successfully installed perl 5.30.0.3.
To use this perl, add the following line to ~/.bash_profile or ~/.zshrc:

  export PATH=/Users/sironekotoro/perl/bin:$PATH

$ echo ‘export PATH=/Users/sironekotoro/perl/bin:$PATH’ > ~/.zshrc
$ exec $SHELL -l                                                  
$ perl -v

This is perl 5, version 30, subversion 0 (v5.30.0) built for darwin-2level
  • macOS Catalinaの素の状態でHomebrewがインストールできるか?
    • Homebrew公式のインストールスクリプトを実行すると、xcode-selectのインストールを求められる
      スクリーンショット 2019-10-11 23 27 24

@sironekotoro
Copy link
Author

なお、System Perlとrelocatable-perlで第5回のカリキュラムからlocal::lib入れようとしたけど、make入れるためにコマンドラインツールを入れるよう促すメッセージが出る。

コマンドラインツールのインストールは避けては通れなさそう。

スクリーンショット 2019-10-11 23 54 50

@sironekotoro
Copy link
Author

sironekotoro commented Oct 12, 2019

諦めて、Terminalからgitコマンドを実行してコマンドライン・デベロッパーツールをインストール。低速回線のせいもあり、かなり時間がかかった。

Sytetm Perlの環境で第5章の環境を整えた

  • local::lib
    • インストール成功
  • Mojolicious
    • いつもの List::Util のインストールで失敗。-n-fオプションでも同様のエラーでインストール失敗
sironekotoro@sironekotoronoMacBook-Air ~ % git                           
xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
sironekotoro@sironekotoronoMacBook-Air ~ % ./cpanm -l ~/extlib local::lib
--> Working on local::lib
Fetching http://www.cpan.org/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz ... OK
Configuring local-lib-2.000024 ... OK
==> Found dependencies: ExtUtils::MakeMaker
--> Working on ExtUtils::MakeMaker
Fetching http://www.cpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.38.tar.gz ... OK
Configuring ExtUtils-MakeMaker-7.38 ... OK
Building and testing ExtUtils-MakeMaker-7.38 ... OK
Successfully installed ExtUtils-MakeMaker-7.38 (upgraded from 6.66)
Building and testing local-lib-2.000024 ... OK
Successfully installed local-lib-2.000024
2 distributions installed
sironekotoro@sironekotoronoMacBook-Air ~ % 
sironekotoro@sironekotoronoMacBook-Air ~ % perl -I ~/extlib/lib/perl5 -Mlocal::lib=~/extlib | tee -a ~/.zprofile           
Attempting to create directory /Users/sironekotoro/extlib
PATH="/Users/sironekotoro/extlib/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/Users/sironekotoro/extlib/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/Users/sironekotoro/extlib${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/Users/sironekotoro/extlib\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/Users/sironekotoro/extlib"; export PERL_MM_OPT;
sironekotoro@sironekotoronoMacBook-Air ~ % cat .zprofile 
PATH="/Users/sironekotoro/extlib/bin${PATH:+:${PATH}}"; export PATH;
PERL5LIB="/Users/sironekotoro/extlib/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/Users/sironekotoro/extlib${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/Users/sironekotoro/extlib\""; export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/Users/sironekotoro/extlib"; export PERL_MM_OPT;
sironekotoro@sironekotoronoMacBook-Air ~ % exec $SHELL -l
sironekotoro@sironekotoronoMacBook-Air ~ % ./cpanm Mojolicious
--> Working on Mojolicious
Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-8.25.tar.gz ... OK
Configuring Mojolicious-8.25 ... OK
==> Found dependencies: IO::Socket::IP, List::Util
--> Working on IO::Socket::IP
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/IO-Socket-IP-0.39.tar.gz ... OK
Configuring IO-Socket-IP-0.39 ... OK
Building and testing IO-Socket-IP-0.39 ... OK
Successfully installed IO-Socket-IP-0.39
--> Working on List::Util
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.52.tar.gz ... OK
Configuring Scalar-List-Utils-1.52 ... OK
Building and testing Scalar-List-Utils-1.52 ... FAIL
! Installing List::Util failed. See /Users/sironekotoro/.cpanm/work/1570871948.9689/build.log for details. Retry with --force to force install it.
! Installing the dependencies failed: Installed version (1.38) of List::Util is not in range '1.41'
! Bailing out the installation for Mojolicious-8.25.
1 distribution installed
sironekotoro@sironekotoronoMacBook-Air ~ %

失敗した際のbuild.log

sironekotoro@sironekotoronoMacBook-Air ~ % cat /Users/sironekotoro/.cpanm/work/1570871948.9689/build.log
cpanm (App::cpanminus) 1.7044 on perl 5.018004 built for darwin-thread-multi-2level
Work directory is /Users/sironekotoro/.cpanm/work/1570871948.9689
You have make /usr/bin/make
You have LWP 6.05
You have /usr/bin/tar: bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.6
You have /usr/bin/unzip
Searching Mojolicious () on cpanmetadb ...
--> Working on Mojolicious
Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-8.25.tar.gz
-> OK
Unpacking Mojolicious-8.25.tar.gz
Entering Mojolicious-8.25
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.38)
Configuring Mojolicious-8.25
Running Makefile.PL
Warning: prerequisite IO::Socket::IP 0.37 not found.
Warning: prerequisite List::Util 1.41 not found. We have 1.38.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Mojolicious
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.38)
Checking if you have IO::Socket::IP 0.37 ... No
Checking if you have JSON::PP 2.27103 ... Yes (2.27203)
Checking if you have Time::Local 1.2 ... Yes (1.2300)
Checking if you have List::Util 1.41 ... No (1.38 < 1.41)
==> Found dependencies: IO::Socket::IP, List::Util
Searching IO::Socket::IP (0.37) on cpanmetadb ...
--> Working on IO::Socket::IP
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/IO-Socket-IP-0.39.tar.gz
-> OK
Unpacking IO-Socket-IP-0.39.tar.gz
Entering IO-Socket-IP-0.39
Checking configure dependencies from META.json
Checking if you have ExtUtils::Install 1.46 ... Yes (2.06)
Checking if you have Module::Build 0.38 ... Yes (0.4003)
Configuring IO-Socket-IP-0.39
Running Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'IO-Socket-IP' version '0.39'
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0.88 ... Yes (0.98)
Checking if you have IO::Socket 0 ... Yes (1.36)
Checking if you have Socket 1.97 ... Yes (2.009)
Building and testing IO-Socket-IP-0.39
Building IO-Socket-IP
t/00use.t ........................... ok
t/01local-client-v4.t ............... ok
t/02local-server-v4.t ............... ok
t/03local-cross-v4.t ................ ok
t/04local-client-v6.t ............... ok
t/05local-server-v6.t ............... ok
t/06local-cross-v6.t ................ ok
t/10args.t .......................... ok
t/11sockopts.t ...................... ok
t/12port-fallback.t ................. ok
t/13addrinfo.t ...................... ok
t/14fileno.t ........................ ok
t/15io-socket.t ..................... ok
t/16v6only.t ........................ ok
t/17gai-flags.t ..................... ok
t/18fdopen.t ........................ ok
t/19no-addrs.t ...................... ok
t/20subclass.t ...................... ok
t/21as-inet.t ....................... ok
t/22timeout.t ....................... ok
t/30nonblocking-connect.t ........... ok
t/31nonblocking-connect-internet.t .. ok
t/99pod.t ........................... ok
All tests successful.
Files=23, Tests=225,  4 wallclock secs ( 0.09 usr  0.05 sys +  1.12 cusr  0.34 csys =  1.60 CPU)
Result: PASS
Building IO-Socket-IP
Installing /Users/sironekotoro/extlib/lib/perl5/IO/Socket/IP.pm
Installing /Users/sironekotoro/extlib/man/man3/IO::Socket::IP.3pm
-> OK
Successfully installed IO-Socket-IP-0.39
Installing /Users/sironekotoro/extlib/lib/perl5/darwin-thread-multi-2level/.meta/IO-Socket-IP-0.39/MYMETA.json
Installing /Users/sironekotoro/extlib/lib/perl5/darwin-thread-multi-2level/.meta/IO-Socket-IP-0.39/install.json
Searching List::Util (1.41) on cpanmetadb ...
--> Working on List::Util
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.52.tar.gz
-> OK
Unpacking Scalar-List-Utils-1.52.tar.gz
Entering Scalar-List-Utils-1.52
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.38)
Configuring Scalar-List-Utils-1.52
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for List::Util
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.38)
Checking if you have Test::More 0 ... Yes (0.98)
Building and testing Scalar-List-Utils-1.52
cp lib/Scalar/Util.pm blib/lib/Scalar/Util.pm
cp lib/List/Util/XS.pm blib/lib/List/Util/XS.pm
cp lib/Sub/Util.pm blib/lib/Sub/Util.pm
cp lib/List/Util.pm blib/lib/List/Util.pm
Running Mkbootstrap for Util ()
chmod 644 "Util.bs"
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Util.bs blib/arch/auto/List/Util/Util.bs 644
"/usr/bin/perl" "/System/Library/Perl/5.18/ExtUtils/xsubpp"  -typemap '/System/Library/Perl/5.18/ExtUtils/typemap'  ListUtil.xs > ListUtil.xsc
mv ListUtil.xsc ListUtil.c
cc -c   -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -Os   -DVERSION=\"1.52\" -DXS_VERSION=\"1.52\"  "-I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE"  -DPERL_EXT -DUSE_PPPORT_H ListUtil.c
ListUtil.xs:6:10: fatal error: 'EXTERN.h' file not found
#include <EXTERN.h>
         ^~~~~~~~~~
1 error generated.
make: *** [ListUtil.o] Error 1
-> FAIL Installing List::Util failed. See /Users/sironekotoro/.cpanm/work/1570871948.9689/build.log for details. Retry with --force to force install it.
-> FAIL Installing the dependencies failed: Installed version (1.38) of List::Util is not in range '1.41'
-> FAIL Bailing out the installation for Mojolicious-8.25.
1 distribution installed
sironekotoro@sironekotoronoMacBook-Air ~ %

@mahoyaya
Copy link
Contributor

いつものヘッダファイルのやつですね。

ちゃんと調べてないけど、slack で話したこの辺りのケアが必要なやつじゃないですかね?

mojaveの経験から、コンパイルするとなるとこの辺のケアが必要な気がするので(この記事は冗長ですが)
https://solarianprogrammer.com/2017/05/21/compiling-gcc-macos/

@yuki-kimoto
Copy link

perlbrewかplenvは、うまく入りそうですかね?

@yuki-kimoto
Copy link

所要時間などが、知りたいです。

@sironekotoro
Copy link
Author

うちの知識ではCatalinaのSystem PerlでスマートにMojolicious入れられなかったです。

一応、sudo ./cpanm Mojoliciousすればインストールしてmorboによるローカルサーバの起動も可能です。可能ですが、一部ファイルがroot権限になってしまい、良くない。

sironekotoro@sironekotoronoMacBook-Air ~ % ls -la ~/.cpanm 
total 0
drwxr-xr-x   6 sironekotoro  staff  192 10 12 21:56 .
drwxr-xr-x+ 24 sironekotoro  staff  768 10 12 21:33 ..
lrwxr-xr-x   1 root          staff   58 10 12 21:56 build.log -> /Users/sironekotoro/.cpanm/work/1570885009.11205/build.log
lrwxr-xr-x   1 root          staff   48 10 12 21:56 latest-build -> /Users/sironekotoro/.cpanm/work/1570885009.11205
drwxr-xr-x   3 sironekotoro  staff   96 10 12 21:41 sources
drwxr-xr-x  16 sironekotoro  staff  512 10 12 21:56 work

@sironekotoro
Copy link
Author

@yuki-kimoto
planvのインストールは可能でした。時間もたいしてかからず。ただし、そこからPerlをインストールするところで例の「コマンドライン・デベロッパツール」を要求され、そこで時間がかかります。

ただ、正確な時間については不明です。何せ自宅が低速回線で・・・

plenvさえ入ればPerlのインストールは従来通りでした。また、Mojoliciousのインストールもsudoつけることなく可能でした。

@xtetsuji
Copy link
Member

List::Util まわり、私が色々対応した記憶があるのですが、ちょっとパッとまとめテキストが出てこない(そもそも書いていない?)ので、改めてまとめてみました。

  • Mojolicious が要求する List::Util は、macOS system perl が持っているコアのそれよりバージョンが高いもの
  • それによって cpanm Mojolicious によって Scalar::UtilList::Util を持った Scalar::List::Utils のインストールが行われるものの、 List::Util が持っている XS モジュールのビルドかデプロイに失敗する
    • コンパイル結果を入れようとする場所が macOS のシステムディレクトリになってしまうっぽい
    • これは XS モジュールのインストールは local::lib で制御しきれないということなのかな

plenv から system perl を使う方針に変えた時の決めては手軽さだったのですが、また plenv などを検討すべき時かなと感じています。

@yuki-kimoto
Copy link

テツジさんの認識であっていると思います。

Cに依存するモジュールが、システムディレクトリに入ろうとして、拒否されている感じですね。

@yuki-kimoto
Copy link

@sironekotoro

plenvのインストール確認ありがとうございます。

コマンドライン・デベロッパツールに依存ということですね。

@mahoyaya
Copy link
Contributor

確かにログをよくみるとバージョン問題でしたね。当時のことを少し思い出した。
今anatofuzくんのこれを見て思ったけど、やっぱりmacOSは開発に向いてないなと思ってしまった。
https://anatofuz.hatenablog.com/entry/2019/02/12/160854

@yuki-kimoto
Copy link

最近のmacOSはUnix/Linux環境への近さが減っているという認識でしょうか?

@mahoyaya
Copy link
Contributor

近さが減るとはちっと違う気がします。自力で解決できれば"自己責任"で何をしてもいいんですが、公式にAppleがサポートしないものを利用するのに向いていないんです。そして、それが顕著になってきました。
Perl入学式としてはターゲット層が入門者なので、このようなベンダーの方針は更に困った事になるわけです。とはいえ一定層はmacOSなので、負担にならない方法(インストールの容易性、更新の容易性、削除の容易性、普段利用の快適性、OSアップグレード後のサポートの容易性)を考えたいですね。

@yuki-kimoto
Copy link

Appleが、スクリプト言語を将来サポートしなくなるので、スクリプト言語を試す開発環境としては、向かなくなってきたということですね。

@xtetsuji
Copy link
Member

macOS の開発環境を今後どうするかというところで議論は尽きないですが、次回11月Perl入学式の懇親会のときにでも話し合いできればと考えています。

macOS Catalina をクリーンインストールした環境があれば、それに Perl がインストールされている理由をちょっと知りたいところ。たぶん、何か基本的なパッケージが依存しているからなのかもしれません。そういう明確な理由があれば、数年間は現状維持が続くかなという気がしています。

いくつか意見が出ていますが、どの方向でいくかもう少し見定め期間を設けたいです。新カリキュラム自体は2020年4月までに用意すればいいので、ことさら性急に進めず、年内期限くらいで方針を決めていきましょう。

@sironekotoro
Copy link
Author

sironekotoro commented Oct 16, 2019

今のところの候補をリストにしておきます。

他に思いついた方はissueに追記する形で推薦お願いします。

※HomebrewとPerlbrew勘違いしてました・・・HomebrewにはPerlパッケージなかったです

@xtetsuji
Copy link
Member

※HomebrewとPerlbrew勘違いしてました・・・HomebrewにはPerlパッケージなかったです

brew info perl してみたら、それっぽいものが出てきました。

$ brew info perl
perl: stable 5.30.0 (bottled), HEAD
Highly capable, feature-rich programming language
https://www.perl.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/perl.rb
==> Options
--HEAD
        Install HEAD version
==> Caveats
By default non-brewed cpan modules are installed to the Cellar. If you wish
for your modules to persist across updates we recommend using `local::lib`.

You can set that up like this:
  PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
  echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"' >> ~/.bash_profile
==> Analytics
install: 26,852 (30 days), 77,259 (90 days), 403,762 (365 days)
install_on_request: 2,604 (30 days), 7,552 (90 days), 43,917 (365 days)
build_error: 0 (30 days)

@sironekotoro
Copy link
Author

ほんとだ・・・ありがとうございます。

Homebrewの公式ページ 検索窓の下の言語で「日本語」を選んでるとまともに検索できなくて、それで無いとばかり。

言語を「英語」にしたらokでしたが、こちらの一覧だと5.18とか出てきてやっぱり謎。

@sironekotoro
Copy link
Author

自宅macをCatarinaにあげてみたのですが、zshの初期状態のプロンプトが % でした。

シェルの種類(msys2, bash, zsh, winのコマンドプロンプト)によってプロンプトが異なることをテキストに書く必要がありそうです

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants