[英]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.