gpt4 book ai didi

shell - 如何在Makefile中设置子进程的环境变量

转载 作者:行者123 更新时间:2023-12-03 04:40:14 27 4
gpt4 key购买 nike

我想更改此 Makefile:

SHELL := /bin/bash
PATH := node_modules/.bin:$(PATH)

boot:
@supervisor \
--harmony \
--watch etc,lib \
--extensions js,json \
--no-restart-on error \
lib

test:
NODE_ENV=test mocha \
--harmony \
--reporter spec \
test

clean:
@rm -rf node_modules

.PHONY: test clean

至:

SHELL := /bin/bash
PATH := node_modules/.bin:$(PATH)

boot:
@supervisor \
--harmony \
--watch etc,lib \
--extensions js,json \
--no-restart-on error \
lib

test: NODE_ENV=test
test:
mocha \
--harmony \
--reporter spec \
test

clean:
@rm -rf node_modules

.PHONY: test clean

不幸的是,第二个不起作用(节点进程仍然以默认的NODE_ENV运行。

我错过了什么?

最佳答案

默认情况下,Make 变量不会导出到 make 调用的进程环境中。不过,您可以使用 make 的 export 来强制它们这样做。变化:

test: NODE_ENV = test

对此:

test: export NODE_ENV = test

(假设您有足够现代的 GNU make >= 3.77 版本)。

关于shell - 如何在Makefile中设置子进程的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23843106/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com