我想使用api-easy来测试我的REST应用。我在package.json中的依赖项中有它,所以当我运行npm install时它安装在./node_modules
中我正在尝试将api-easy添加到路径中 this question.
因为我正在使用Makefile,所以我有这个:
test:
@PATH="./node_modules/api-easy/node_modules/.bin:$PATH"
@echo $PATH
vows
@node ./test/tests.js
注意:api-easy取决于誓言
PATH var未更新,当我执行echo时它返回“ATH”(不是值),然后命令发送未找到。 如何在Makefile中正确设置PATH?
答案 0 :(得分:0)
在make
配方中,每个命令都作为单独的进程执行,因此在一个命令中设置环境变量不会影响其他命令。要做你想做的事,你需要确保所有相关命令在shell的单个实例中运行,其中环境变量按照你的预期传递:
test:
@PATH="./node_modules/api-easy/node_modules/.bin:$$PATH"; \
echo $$PATH; \
vows; \
node ./test/tests.js
尾部反斜杠告诉make
将一行与它后面的一行连接起来。另请注意,如果您希望shell解释它们,则需要引用$
个字符。因此$$
。
答案 1 :(得分:-1)
我觉得这样的事情应该这样做:
export PATH="./node_modules/api-easy/node_modules/.bin:$PATH"
test:
vows
@node ./test/tests.js