npm --prefix で scripts の起動場所を固定できるメモ
npm --prefix で scripts の起動場所を固定できるメモです。
背景
サブフォルダにある package.json で npm install したいときの prefix オプションを実験してうまくいったメモ - 1ft-seabass.jp.MEMO
このような記事で以前から使っていたのですが、最近 MCP まわりで標準入出力の MCP サーバーとして移動場所を気にすることが多く、この prefix の機能でプログラムの起動場所を明確に固定して起動するのが改めて役に立ったのでメモしておきます。
もっというと、自分で言及していた記事があったのに、思い出せなかったので、もう一度この切り口で記事を書いて備忘録としておきます。
具体的な動作
npm --prefix ./subfolder scriptname
こんな形で npm で実行する際に scriptname で指定した起動スクリプトが scripts に書かれているとして、さらに --prefix を指定しているとフォルダを起点に起動してくれるので、どこから起動しても同じ効果を得ることができます。便利!
自分自身は、以前から cd や dir でわざわざ移動してから実行するなど、微妙にテクニックを使っていたんですが、これがシンプルなので自分としても統一していきたいやつです。
実際のところ、
- Heroku で動かす Node-RED にパスワード設定しノード追加インストールにも対応するメモ(npm prefix アプローチ) - 1ft-seabass.jp.MEMO
- 2025 年 5 月時点 Node-RED から node-red-node-daemon を使って stdio 標準入出力 MCP サーバーと連携するメモ - 1ft-seabass.jp.MEMO
- ローカルの作業データを元に Heroku で動かす Node-RED の仕組みを GitHub に公開したメモ - 1ft-seabass.jp.MEMO
- 2025 年 6 月時点 Claude Desktop から Dog API から画像を持ってくるだけの MCP サーバーの画像ソースやり取りのメモ - 1ft-seabass.jp.MEMO
- 2025 年 5 月時点 ツール一覧から選んでツールを使うだけのシンプルな MCP クライアントを作り標準入出力 MCP サーバーとつないでみるメモ - 1ft-seabass.jp.MEMO
- 2025 年 5 月時点 Ollama で granite3.2 を使いツール一覧から選んで使うだけの MCP クライアントから標準入出力 MCP サーバーとつないでみるメモ - 1ft-seabass.jp.MEMO
- 2025 年 5 月時点 stdio 標準入出力 MCP サーバーをブリッジにして Node-RED が MCP クライアントと連携するメモ - 1ft-seabass.jp.MEMO
あたりでよく使ってます。
2025 年時点で、かなり MCP クライアント(Claude Desktop)からの、イイ感じの起動場所の固定として npm --prefix 使ってます!