我想更改这个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,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的导出来强制他们这样做。更改:
test: NODE_ENV = test
对此:
test: export NODE_ENV = test
(假设你有一个足够现代版本的GNU make)。