我想更改这个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)。