0

api-easyを使用して REST アプリをテストしたいと考えています。package.json 内の依存関係にあるので、npm install を実行すると ./node_modules にインストールされます。

この質問のようなパスに api-easy を追加しようとしています 。

私は Makefile を使用しているので、これがあります:

test:
    @PATH="./node_modules/api-easy/node_modules/.bin:$PATH"
    @echo $PATH
    vows
    @node ./test/tests.js

注: api-easy は vows に依存します

PATH 変数は更新されていません。エコーを実行すると、「ATH」(値ではない) が返され、コマンドが見つかりませんでした。Makefile で PATH を適切に設定するにはどうすればよいですか?

4

2 に答える 2

0

レシピではmake、各コマンドは個別のプロセスとして実行されるため、1 つのコマンドで環境変数を設定しても、他のコマンドには影響しません。必要なことを行うには、関連するすべてのコマンドがシェルの単一のインスタンスで実行されるようにする必要があります。ここでは、期待どおりに環境変数が渡されます。

test:
    @PATH="./node_modules/api-easy/node_modules/.bin:$$PATH"; \
    echo $$PATH; \
    vows; \
    node ./test/tests.js

末尾のバックスラッシュはmake、行をそれに続く行と連結するように指示します。$シェルで文字を解釈する場合は、文字を引用符で囲む必要があることにも注意してください。したがって、$$.

于 2012-12-05T22:29:54.637 に答える
-1

私はこのような何かがそれをするべきだと思います:

export PATH="./node_modules/api-easy/node_modules/.bin:$PATH"

test:
  vows
  @node ./test/tests.js
于 2012-12-05T20:53:06.393 に答える