我想改变这个 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.
NODE_ENV
我错过了什么?
默认情况下,Make 变量不会导出到进程 make 调用的环境中。但是,您可以使用 make’sexport强制他们这样做。改变:
export
test: NODE_ENV = test
对此:
test: export NODE_ENV = test
(假设您有足够现代的 GNU make >= 3.77 版本)。