pyenv installが失敗する件(BUILD FAILED)
長年使ってきたMacにpyenvをインストールして pyenv install
したとき以下のエラーが発生した。
pyenv install 3.6.4 python-build: use openssl from homebrew python-build: use readline from homebrew Downloading Python-3.6.4.tar.xz... -> https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz Installing Python-3.6.4... python-build: use readline from homebrew BUILD FAILED (OS X 10.13.3 using python-build 20160602) Inspect or clean up the working tree at /var/folders/bb/0gd8kc6s00q4fr47bvxst2r00000gn/T/python-build.20180317171610.14320 Results logged to /var/folders/bb/0gd8kc6s00q4fr47bvxst2r00000gn/T/python-build.20180317171610.14320.log Last 10 log lines: File "/private/var/folders/bb/0gd8kc6s00q4fr47bvxst2r00000gn/T/python-build.20180317171610.14320/Python-3.6.4/Lib/ensurepip/__main__.py", line 5, in <module> sys.exit(ensurepip._main()) File "/private/var/folders/bb/0gd8kc6s00q4fr47bvxst2r00000gn/T/python-build.20180317171610.14320/Python-3.6.4/Lib/ensurepip/__init__.py", line 204, in _main default_pip=args.default_pip, File "/private/var/folders/bb/0gd8kc6s00q4fr47bvxst2r00000gn/T/python-build.20180317171610.14320/Python-3.6.4/Lib/ensurepip/__init__.py", line 117, in _bootstrap return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths) File "/private/var/folders/bb/0gd8kc6s00q4fr47bvxst2r00000gn/T/python-build.20180317171610.14320/Python-3.6.4/Lib/ensurepip/__init__.py", line 27, in _run_pip import pip zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1
原因はxcode command line toolsがインストールされていなかったため。
xcode-select --install
でインストールしてやれば解決する。
このあいだOSをHigh SierraにしてXCodeを新しくしたので、そのタイミングで消えてたらしい。
使い古したMacで新しく何かしようとすると、色んな所に落とし穴がありますね。
nodebrew installが失敗する件
長年使ってるMacにnodebrewをインストールした際、初回の nodebrew install
で以下のエラーが発生した。
nodebrew install-binary stable Fetching: https://nodejs.org/dist/v8.10.0/node-v8.10.0-darwin-x64.tar.gz Warning: Failed to create the file Warning: /Path/to/.nodebrew/src/v8.10.0/node-v8.10.0-darwin-x64.tar.gz: Warning: No such file or directory 0.0% curl: (23) Failed writing body (0 != 1017) download failed: https://nodejs.org/dist/v8.10.0/node-v8.10.0-darwin-x64.tar.gz
/Path/to/.nodebrew/src/
にファイルをダウンロードできないため、インストールに失敗している。
そんなときは nodebrew setup
を実行する。
nodebrew setup Fetching nodebrew... Installed nodebrew in $HOME/.nodebrew ======================================== Export a path to nodebrew: export PATH=$HOME/.nodebrew/current/bin:$PATH ========================================
そして再度インストールを実行。
nodebrew install-binary stable
Fetching: https://nodejs.org/dist/v8.10.0/node-v8.10.0-darwin-x64.tar.gz
######################################################################## 100.0%
Installed successfully
これで問題なくインストールできるようになりました。
brew install時にディレクトリの権限周りの問題でハマった
Macの環境構築で homebrew と zsh と nodebrew と pyenv を導入した手順 - HIDARI日記(右)
の手順で、長年使ってるMacにhomebrewでzshをインストールしようとして以下のエラーが発生した。
Error: Could not create /usr/local/Cellar Check you have permission to write to /usr/local
/usr/local
に書き込み権限がないため、 Cellar
ディレクトリが作れないと言っている。
なので手作業でディレクトリを作ってから再度インストールを試みる。
sudo mkdir /usr/local/Cellar brew install zsh
すると今度は以下のエラーが…
Error: /usr/local/Cellar is not writable. You should change the ownership and permissions of /usr/local/Cellar back to your user account: sudo chown -R $(whoami) /usr/local/Cellar Error: Cannot write to /usr/local/Cellar
指示に従ってコマンドを実行し、三度インストールを実行する。
sudo chown -R $(whoami) /usr/local/Cellar brew install zsh
次は以下のエラーが発生した。
Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink . /usr/local/opt is not writable. You can try again using: brew link zsh
/usr/local/opt
に書き込めるようにすればいい様子。なので先程と同じ要領で chown
を実行する。
sudo chown -R `whoami`:admin /usr/local/opt chown: /usr/local/opt: No such file or directory
そもそも /usr/local/opt
がないらしい。作って再度実行する。
sudo mkdir /usr/local/opt sudo chown -R `whoami`:admin /usr/local/opt brew link zsh Error: Could not symlink lib/zsh /usr/local/lib is not writable.
今度は /usr/local/lib
がダメらしい。調べてみるとこれもそもそもディレクトリが存在しないようなので作って
sudo mkdir /usr/local/lib brew link zsh Linking /usr/local/Cellar/zsh/5.4.2_3... Error: Could not symlink lib/zsh /usr/local/lib is not writable.
まだダメ。ちょっと調べてみて Homebrew: Could not symlink, /usr/local/bin is not writable - Stack Overflow を参考にして以下を実行
sudo chown -R `whoami`:admin /usr/local/bin brew link zsh Linking /usr/local/Cellar/zsh/5.4.2_3... 1351 symlinks created
上手くいったっぽい。
行き当たりばったりで雑に動くようにしたけど、これでよかったのか自信はない。
Macの環境構築で homebrew と zsh と nodebrew と pyenv を導入した手順
めちゃくちゃ久しぶりにMacの環境作った。
具体的にはhomebrew入れて、zsh入れて
ネットを検索してると何年も前の情報が結構多くて、これまだ使える情報か?って不安があるので、ひとまず2018年3月時点ではこの方法でインストールできましたというのを記録しておきます。
homebrewのインストール
- https://brew.sh/index_ja.html のスクリプトをbashで実行
- 「xcode-select: error: invalid developer directory」で失敗したので、Xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools' Failed during: /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools - Homebrew - Homebrew を参考に
xcode-select --install
を実行して xcode command line tools をインストール
- 「xcode-select: error: invalid developer directory」で失敗したので、Xcode-select: error: invalid developer directory '/Library/Developer/CommandLineTools' Failed during: /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools - Homebrew - Homebrew を参考に
brew doctor
を実行
zshのインストール
参考:とりあえずZshを使えば良いんだろう? - Qiita
brew install zsh
を実行brew install zsh-completions
を実行/etc/shells
を編集してzshをログインシェルにする- 最後の行に
/usr/local/bin/zsh
を追記する(viを使う時は要sudo) sudo chsh -s /usr/local/bin/zsh
を実行する- マシンに再ログイン
- 最後の行に
- 最初にzshを起動した際に
.zshrc
が存在しないとThis is the Z Shell configuration function for new users,zsh-newuser-install. ...云々
が表示されるため0
を押して作成する .zshrc
をいい感じに書く- とりあえずZshを使えば良いんだろう? - Qiita とか
- bashからzshに移行して2014年を迎えよう![ログインシェル] - Qiita とか
- 少し凝った zshrc とか
- 設定が終わったら
source ~/.zshrc
- 「zsh compinit: insecure directories, run compaudit for list.」と言われたら
compaudit
して問題のあるディレクトリでchmod 755 path/to/dir
を実行する(例:chmod 755 /usr/local/share/
(macでzshでzsh compinit: insecure directoriesの警告が出る問題 - Qiita))
homebrewでnodebrewのインストール
brew install nodebrew
を実行nodebrew -v
で動作確認$HOME/.nodebrew/current/bin
にパスを通すexport PATH="$PATH:$HOME/.nodebrew/current/bin"
でもいいしpath=($HOME/.nodebrew/current/bin(N-/) $path)
でもいい(僕はこちら派)- 参考: zsh で path にディレクトリを追加するときは (N-/) を付けよう - Qiita
nodebrewでnode.jsのインストール
nodebrew ls-remote
でインストールできるバージョンを確認nodebrew install-binary x.x.x
で指定してインストール(latest
やstable
でも可)nodebrew use x.x.x
で使用可能にする- npmはnodeと一緒にインストールされる模様
homebrewでpyenvを使ってpython3のインストール
- HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ - Qiita を参考に
brew install pyenv
でインストール- .zshrcに次の3つを追記
export PYENV_ROOT="$HOME/.pyenv"
- path配列に
{PYENV_ROOT}/bin(N-/)
- 最後の方に
eval "$(pyenv init -)"
source ~/.zshrc
で再読み込みpyenv install -l
でインストール可能バージョン一覧を表示pyenv install x.x.x
でインストールpyrnv versions
でインストールされたバージョンを確認pyenv global x.x.x
で使用するバージョンを指定- 最後に
python --version
でPythonが切り替わっているかを確認
ところで
zshってなんて発音するのですかね?
勝手に心のなかで「ゼッシュ」って呼んでる。ほんとの発音知ってる人いたら教えてください。
2018/03/07 追記
Twitterで「ズィーシェル」と呼ぶのが一般的だという情報を頂きました。
お久しぶりですが7年間勤めた会社を退職しました
2月28日を持って約7年間勤めた会社を退職しました。
新卒で入社して以来7年間、親会社に吸収され続けて気づけばいわゆる日本の大企業の一員としてやってきました。
まずはお世話になった方々にお礼を言いたいと思います。
何をやってきたか
入社後一年間は受託開発の仕事で、とある国産ERPパッケージを使ったSI案件に携わっていました。
そこではいわゆるウォーターフォール型の開発、Excelスクショエビデンス、手作業による単体テストを体験しました。
しかし、ここでの体験がなかったら、今のように自分で勉強して現場を改善したいと思うことはなかったと思うし、多くの友人にも出会えなかったと思います。そう考えるととても大きなターニングポイントでした。
その後、メインフレームの端末エミュレータを開発する部署に異動しました。
そこではVC++6.0を中心にVBScriptなどいわゆるレガシーな技術を使って開発をしていて、求められる知識もかなり高度なものでした。過去から連綿と受け継がれてきた資産がほとんどで、それに縛られて開発自体にあまりスピード感はありませんでした。
ただ、現場はもっと楽になりたいと考えていて、Jenkinsを使ったCIの仕組みを作らせて貰えたり、Seleniumを使った自動テストなどの導入には積極的でした(最終的に導入は見送りましたが)。自分で勉強しただけの技術を実務で使わせて貰えるなんて、なんて懐の広い人たちなんだと感動したのを覚えています。
最近はスポットでStrutsからSpring Frameworkへの移行案件を手伝ったり、過去に納めたシステムの障害調査、対応をしたりしていました。
なぜやめるのか
理由はいくつかあります。
長い間携わってきたメインフレーム用端末エミュレータというニッチな市場に対する先行きの不安感。
このまま今の技術スタックで年齢を重ねたとき、何かのはずみで事業そのものがなくなってしまったら、気付いたときには他に身を振る先がなくなってしまうのではないかという不安。
昇進するにもすでにポストは埋まっていて現在のキャリアパスではこれ以上はあまり給与が上がらないこと。
そしてこれが一番大きいことなのですが、今まで経験したことのない環境に身をおいて、スキルを高めたいと思ったことです。
これからどうするのか
新しい職場はすでに決まっています。 同じIT系ですが、これまでとは全く違う技術スタックが求められる職場です。これについては落ち着いたら改めて書きたいと思います。
転職に際してはとても多くの方にアドバイスを頂きました。 本当に有難うございました。
Jenkins勉強会で学んだビアバッシュ
後から来る人達へ。
第7回大阪Jenkins勉強会の懇親会の代わりに行ったビアバッシュについて、次回開催するときのためにメモがてら書いておこうと思います。
人数と用意したもの
今回のビアバッシュには最終的に36人の方に参加頂きました。
ビール:
- 2ケース(48本)
- 一人2本弱の計算。
- 注文時の申し込み人数の2倍弱で注文。
- カクヤスで前日に注文。 www.kakuyasu.co.jp
- オプションで冷えたものを配達してもらえる。
- ビアバッシュ開始予定時刻直前に届いたけど、本編が早めに終わってたので、結果的に遅すぎた。
- 2時間前目標で届けてもらうのが良さそう。
ピザ:
- 12枚
- 1枚で3人分の計算。
- ドミノ・ピザの週末限定半額クーポンを(@kiy0takaさん](https://twitter.com/kiy0taka)が)当日手に入れて注文。
- こちらもスケジュール通りに注文したけど結果的には遅すぎた。
- 早めに注文しよう。
ソフトドリンク:
- ペットボトル数本
雑感
- ピザは気持ち少なかったけど必要量には足りていた。
- ビールは微妙に少なくて、途中で買い足し。
- 余るリスクを考えると少なくてよかったのかも。
- 今回のをベースに参加者を考慮しがら色々手配するのがいいのではないかな。
第7回大阪Jenkins勉強会を開催してきました #jenkinsstudy
だいぶ時間が経ってしまいましたが、去る2016年6月18日に、約2年半振りとなる大阪Jenkins勉強会の第7回を開催してきました。
今回はJenskins2のリリース記念ということでJenkins生みの親である川口さんと、現在開発中のJenkinsの新しいUI「Blue Ocean」の開発者であるJames Dumayさんをお迎えしました。
セッション
前半は実践系のセッション、後半はJenkins2を深く広い視点から解説するセッションという構成でした。
大畔 祐輝さん「初めての自動化、Jenkins」
- Jenkins2の導入時に躓きそうなところを実体験をもとにまとめて話して下さいました。
- 初めての発表とのことでしたが、丁寧な調査と落ち着いたしゃべりで素晴らしい発表でした。
@nobuokaさん「Jenkins Pipelines と Android アプリ開発 」
今日の発表資料です!
— Yu Nobuoka (@nobuoka) June 18, 2016
Jenkins Pipelines と Android アプリ開発 https://t.co/dArocoh0Db#jenkinsstudy
- @nobuoka
- Android開発でのJenkins活用事例を紹介して頂きました。
- Pipelineのハマりどころ、使ってはじめて分かる超絶便利部分など、なかなか聞くことの出来ない贅沢な内容でした。
@kazuhito_mさん「実録!となりのJenkins2.0」
本日発表する資料です。よろしくおねがいします♪
— 三浦 一仁(初学者) (@kazuhito_m) June 18, 2016
「実録!となりのJenkins2.0」 - 第7回大阪Jenkins勉強会 #jenkinsstudy #jenkins2 https://t.co/rSOztM8jq9
- 安定の@kazuhito_m。
- 会場を巻き込むしゃべりは流石でした。ちょっとやかましかったけど。
- デモ動画を流しながら解説するスタイルは非常に分かりやすかったです。ちょっとやかましかったけど。
- やってることもトリッキーなのによく考えられてて聴き応えのあるセッションでした。ちょっとやかましかったけど。
- ちょっとやかましかったけど。でもそれがいいw
川口耕介さん「Jenkins 2.0の紹介」
- @kohsukekawa
- Jenkinsの背景にある考え方、ビジョン、そしてJenkins2以降どうやって発展させて行くか、という内容を丁寧にお話して頂けました。
- Jenkins2のLTSも近くリリースされるそうなので、2.0への以降も進むと思います。
- 今後の発展がますます楽しみで、僕も少しでも貢献出来ればいいなって思います。
The first #jenkins2 based LTS release is now being tested (2.7.1 RC1)
— Jenkins (@jenkinsci) 2016年6月27日
James Dumayさん「Blue Ocean 〜A new user experience for Jenkins〜」
- @i386
- 現在開発が進んでいるJenkinsの新しいUI「Blue Ocean」についてどこよりも早い解説セッションでした。
- 開発車のJamesさんが英語で解説し、川口さんが逐次翻訳するスタイルでの発表でした。Jamesさんが日本語で挨拶したのを川口さんが英訳する場面もあり笑いを誘っていました。
- まだ開発中のBlue Oceanですが、実際に触ってみることも出来るので、気になる方は Blue Ocean を見てみてください。
- ちなみに、当日接続端子の都合で僕のPCを使って貰ったため、手元にはJamesさんのスライドがあったりします(役得)。
- さっそく試した方も。
ブログ更新。
— ずみっくす@NowIsTheTime! (@srz_zumix) 2016年6月28日
ブログズミ: [Jenkins] Blue Ocean を試してみる https://t.co/5NcR460IAp
@Posauneさん「Travis, Circle, そしてJenkins 2.0」
- こちらも安定の@Posaune。
- CIサーバとしてJenkinsが世界に与えた影響や問題点、昨今流行りのCIサービスについて、さらにそれらと比較したJenkinsの立ち位置などについて、独自の世界観と深い考察をお話くださいました。
- Jenkinsの属人化問題は僕も頭を悩ませる問題で、Pipeline Scriptによるコード化が有効な手段になりうるかもと期待しています。
LT
僕「Jenkins2.0で雑にLTタイマー作ります」- Vagrantを使った自動化デモ。
- ArduinoでXFDデモ。
- Jenkinsで彼女作ったら温もりが足りなかったり。
- @kiy0takaさんのBlueOceanハックLTにテンション上がりまくりのJamesさん。
Oh my this is AMAZING!!!!! @jenkinsci #jenkinsstudy #blueocean pic.twitter.com/CQo8VJfuhi
— James Dumay (@i386) 2016年6月18日 - いろふさんはとんでもない速度でコミットフックでビルドするところまでジョブ作ってた。
- 制限時間なんてなかった。
とにかくハイレベルで自由なLTでした(僕除く←)。
大阪Jenkins勉強会のLTのレベルが高すぎる #jenkinsstudy
— Kohsuke Kawaguchi (@kohsukekawa) June 18, 2016
そのほか個人の感想など
- 久しぶりに大阪でJenkins勉強会を開催することができました。
- 初めてのJenkinsあり、Android開発での利用事例あり、企業内での縛りプレイ的な状況でのJenkins利用例ありでバラエティに富んだ内容を実現することができました。
- 今回の勉強会で得られたこと、学んだことを現場でも実践して頂ければ、それ以上嬉しいことはありません。
- あわよくば、次回の勉強会でその実践事例を発表してもらいたいです。
- いつの間にか主催側になって、あれよあれよというまに川口さんとJamesさんに来てもらえる事になって、最終的には大盛況で終えることができました。遅くなりましたが本当にありがとうございました!
ブログ記事
勉強会の感想も書いてくださっています。
#jenkinsstudy 第7回大阪Jenkins勉強会は、Jenkins入門から始まり、彼女を作ってぬくもりが足りず、Blue Oceanのハックで終わった1日であったよ! - M…https://t.co/y3TyTmYswg
— Mitsuyuki.Shiiba (@bufferings) June 19, 2016
ブログ更新。
— ずみっくす@NowIsTheTime! (@srz_zumix) June 20, 2016
ブログズミ: 「第7回大阪Jenkins勉強会」に行ってきた https://t.co/YxUX3tCFtz
参加してきました。Jenkins2.0になってかなーり良くなってるぽい。そしてBlue ocean UI早く使いたい!#jenkinsstudy
— naichi (@naichilab) June 18, 2016
2016.06.18 第7回大阪Je…https://t.co/QXTwmg9Png