社内でもSublimeTextおじさんという名の老害として君臨していたのですが、この度JetBrains軍門に下りました。エディタ生活に慣れきっていたので個人的には困ってる困ってないでいえば困ってはいなかったのですが、品質担保という面から自分ひとりだけSublimeおじさんしているわけにもいかなくなったので、丁度いい機会かと思いWebStormを使い始めることにしました。
試しに過去の個人プロジェクトを開いてみたところニョロニョロだらけでげんなりしたのでそっ閉じしました。
前提
- Mac
- WebStorm
-
anyenv
のndenv
を使ってNode.jsのバージョン管理をしております。
npmタブからスクリプト実行時に怒られる
WebStormではnpmタブからpackage.jsonに記述したスクリプトをターミナルを経由せずに実行することが出来ます。早速やってみましょう。
23:02 ' ' の実行中にエラーが発生しました: java.util.concurrent.ExecutionException: com.intellij.execution.ExecutionException: Please specify npm or yarn package
えぇ…。
設定を確認してみる
Preference
> Node.js および NPM
タブを開くと、Nodeインタープリター
欄にはきちんとanyenvのパスが入っていましたが、パッケージ・マネージャー
の欄は空欄でした。
こいつが怪しそうです。
設定しようとしてハマる
三点リーダからパスを指定しようとしたら、ディレクトリ一覧にanyenvが出てきません。先頭にピリオドがついている隠しディレクトリ扱いのためか、表示されないようです。仕方ないので直接パスを指定します。
指定先のパスがわからずハマる
いざパスを指定しようとしたところ、じゃあどこを指定すればいいのか、という問題にぶち当たり1時間近く頭を抱える羽目になりました。ndenv
のバージョン変えてもきちんと動くのか非常に不安ではありますが、グローバルにインストールしているNode.js
でインストールされているnpm
のインストール先を指定したところ、package.json
に記述のあるパッケージのバージョンを確認してくれるようになりました。
~/.anyenv/envs/ndenv/versions/v10.15.0/lib/node_modules/npm
パスは適時読み替えて、自身のインストール状況に合わせたパスを指定してください。
npmタブからスクリプトを走らせてみる
設定を保存して再びnpmタブに戻り、スクリプトの実行に再チャレンジしてみます。構成の編集
ウィンドウが出てきた場合は、パッケージマネージャー
が空欄になっていると思いますので、プルダウンを開くとProject
のところに先程登録したnpmのパスが入っていると思いますので、そちらを指定すれば実行出来るかと思います。
終わり。
これバージョン変えるたびに都度変えなきゃいけないのはプロジェクト行き来するケースだと結構面倒だと思うのですが、実はプラグインでそのへんカバーされてるのでは、と8割くらい書き終わってから思いました。
とりあえず色々弄くり倒してみようかと思います。