[英]Setting PATH on Makefile - Node.js
我想使用api-easy來測試我的REST應用。 我在package.json內部的依賴項中有它,因此當我運行npm install時,它安裝在./node_modules中
由於我使用的是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.