名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。

開発環境をasdf-vm使って整えようとしてる

概要

  • WSLのUbuntu環境でいろいろ開発ツール入れてるけど、バージョン管理問題は真っ先に思い浮かんだ
  • 各言語ごとの開発ツールとかを入れるのも手だと思ったが、横断的に管理したかった
    • 個別に管理するのもどうなんだ?(現代においては多種多様な言語を実行できる環境が必要であるため)と思ったのが大きい
  • まああと会社で存在を知ったけど、自分では活用する機会がなかったので、まあ使ってみて調査するかと思った

参考にしたところ

というか、最終的に公式以外が参考にならなかった、ともいう。

やったこと

  • 公式に従って環境構築
    • git で引っ張ってくるだけ
    • .zshrc環境変数を入れておく
      • Qiita記事とか見ると bash のものを zshrc に書いても大丈夫って書いてあったけど、それは全然うまくいかなかった
      • QiitaとかはTips程度に使えってことですな(環境構築は公式見て進めたほうがいいね)
  • あとはプラグインページでひたすらほしいものを引っ張ってくる
    • Node, Python, Ruby, Java, Go あたり
    • asdf-vm ではツールのバージョン管理もできるので、 ghq も入れた
    • インストール時にパッケージの依存とかあるものもあるので、plugin を入れる前に事前に入れておいたほうがいいかも
      • Pythonの場合、中身的には pyenv なので、pyenv で必要なものが当然必要だった
    • 大体は pluigin を公開している GitHub ページに書かれているので(他だと unzip, jq あたりが必要となった)、それらを見てください
    • Nodeか何かが証明書で詰まって、それが一番難しくつらかった
  • 各種言語の各バージョンを global で参照するようにする
    • いったんこれで問題はないため
  • python , ruby とかのバージョンを見てみる

発見として

  • 公式のページがすごくわかりやすい
    • (この記事もそうだが)変なセットアップ記事を見るより、公式を見るほうが明らかに良い
  • plugin 非常に多い
    • 大体かたっぱしの言語がある
    • (どの言語もバージョン管理が必要なんだなという気持ちになってしまう(つらい))
  • 証明書を書き換える必要があるんだよねっていうやつが一番心的につらかった
  • Hookとかも使ってみたいような気がする
  • どうでもいいが ghqasdf 経由じゃないと入らなかった
    • ローカルの状況が何かおかしいのかも、Goなしで入れようとしたのが一番いけなかったような気がするが…

まとめ

開発環境が整いつつあるので、ゴリゴリやっていきたい… ような気もする。

あとはIDEとかの連携回りも少し見ておきたいですね。なんかIDEA Ultimateでうまく見てくれてない感じがするので、この辺の勘所とか、セットアップもいい感じにやりたいかも。

特に最近型ありの言語をやりたい気持ちが強く(動的型付けのType hintもよかったが、なんかもっとかっちり検査したような書き方がしたいときもある)、Kotlinやってみようかなと思ったけど、wslと合わせて使う方法わからんなという感じになっています。 PyCharm以外のJetBrainsのIDEはお世辞にも使いこなせているような状況ではないので、使いながら学んでいきたいな。

Pythonとかはたぶん大丈夫でしょう…(MacとかでPyCharm Professional がリモートのPythonバージョン見に行くことができてるので、たぶん大丈夫のはず)。

この辺りもわかってきたら文章に書き起こすかもしれません。たぶん。