簡體   English   中英

在Makefile上設置PATH-Node.js

[英]Setting PATH on Makefile - Node.js

我想使用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取決於誓言

PATH變量未更新,當我執行回顯時,它返回我“ ATH”(不是值),然后命令發誓未找到。 如何在Makefile中正確設置PATH?

make配方中,每個命令都是作為單獨的過程執行的,因此在一個命令中設置環境變量不會影響其他命令。 要執行您想要的操作,您需要確保所有相關命令都在外殼程序的單個實例中運行,在該實例中,可以按預期傳遞環境變量:

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

后面的反斜杠告訴make將一行與其后的一行連接起來。 還請注意,如果要由外殼程序解釋$字符,則需要引用$字符。 因此, $$

我認為應該這樣做:

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

test:
  vows
  @node ./test/tests.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM