node_modules にローカルにインストールされたパッケージの実行可能ファイルを使用するにはどうすればいいですか? 質問する

node_modules にローカルにインストールされたパッケージの実行可能ファイルを使用するにはどうすればいいですか? 質問する

でモジュールのローカル バージョンを使用するにはどうすればよいですかnode.js。たとえば、私のアプリでは、coffee-script をインストールしました。

npm install coffee-script

これは にインストールされ./node_modules、 coffee コマンドは にあります./node_modules/.bin/coffee。プロジェクトのメイン フォルダーにいるときにこのコマンドを実行する方法はありますか? おそらく、bundle execbundler で に似たものを探しているのでしょう。基本的には、プロジェクトに関係する全員が使用する必要がある coffee-script のバージョンを指定したいと思います。

フラグを追加してグローバルにインストールすれば、どこでもコーヒーが問題なく動作することはわかっています-gが、プロジェクトごとに異なるバージョンのコーヒーを用意したい場合はどうすればよいでしょうか。

ベストアンサー1

npm ⩾5.2.0 (アップデート)

Seyeong Jeong が以下の回答で指摘しているように、npm 5.2.0 以降では を使用できnpx、こちらの方が便利です。

npx [command]

古いバージョンの場合 npm <5.2.0 (古い回答)

パッティングの問題

./node_modules/.bin

PATHに以下を追加すると、現在の作業ディレクトリがプロジェクトディレクトリ構造のルート(つまり、の場所node_modules)である場合にのみ機能します。

作業ディレクトリに関係なく、ローカルにインストールされたバイナリのパスを取得するには、

npm bin

coffeeプロジェクトディレクトリ階層のどこにいるかに関係なく、ローカルにインストールされたバイナリを実行するには、このbash構文を使用できます。

PATH=$(npm bin):$PATH coffee

これをnpm-execにエイリアスしました

alias npm-exec='PATH=$(npm bin):$PATH'

だから今私は

npm-exec coffee

どこにいても正しいコーヒーを淹れる

$ pwd
/Users/regular/project1

$ npm-exec which coffee
/Users/regular/project1/node_modules/.bin/coffee

$ cd lib/
$ npm-exec which coffee
/Users/regular/project1/node_modules/.bin/coffee

$ cd ~/project2
$ npm-exec which coffee
/Users/regular/project2/node_modules/.bin/coffee

おすすめ記事