繁体   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