2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ndenv環境時にWebStormでpackage.jsonのタスク実行時「npmパッケージが指定されていない」と怒られる

Posted at

社内でもSublimeTextおじさんという名の老害として君臨していたのですが、この度JetBrains軍門に下りました。エディタ生活に慣れきっていたので個人的には困ってる困ってないでいえば困ってはいなかったのですが、品質担保という面から自分ひとりだけSublimeおじさんしているわけにもいかなくなったので、丁度いい機会かと思いWebStormを使い始めることにしました。

試しに過去の個人プロジェクトを開いてみたところニョロニョロだらけでげんなりしたのでそっ閉じしました。

前提

  • Mac
  • WebStorm
  • anyenvndenvを使って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のパスが入っていましたが、パッケージ・マネージャーの欄は空欄でした。

スクリーンショット 2019-09-28 23.59.05.png

こいつが怪しそうです。

設定しようとしてハマる

三点リーダからパスを指定しようとしたら、ディレクトリ一覧にanyenvが出てきません。先頭にピリオドがついている隠しディレクトリ扱いのためか、表示されないようです。仕方ないので直接パスを指定します。

指定先のパスがわからずハマる

いざパスを指定しようとしたところ、じゃあどこを指定すればいいのか、という問題にぶち当たり1時間近く頭を抱える羽目になりました。ndenvのバージョン変えてもきちんと動くのか非常に不安ではありますが、グローバルにインストールしているNode.jsでインストールされているnpmのインストール先を指定したところ、package.jsonに記述のあるパッケージのバージョンを確認してくれるようになりました。

スクリーンショット 2019-09-29 0.08.57.png

~/.anyenv/envs/ndenv/versions/v10.15.0/lib/node_modules/npm

パスは適時読み替えて、自身のインストール状況に合わせたパスを指定してください。

npmタブからスクリプトを走らせてみる

設定を保存して再びnpmタブに戻り、スクリプトの実行に再チャレンジしてみます。構成の編集ウィンドウが出てきた場合は、パッケージマネージャーが空欄になっていると思いますので、プルダウンを開くとProjectのところに先程登録したnpmのパスが入っていると思いますので、そちらを指定すれば実行出来るかと思います。

終わり。

これバージョン変えるたびに都度変えなきゃいけないのはプロジェクト行き来するケースだと結構面倒だと思うのですが、実はプラグインでそのへんカバーされてるのでは、と8割くらい書き終わってから思いました。

とりあえず色々弄くり倒してみようかと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?