windows下环境变量的一个问题
pengloo53 opened this issue · 2 comments
pengloo53 commented
"winTest": "SET NODE_ENV=test && supervisor --harmony -i views/ ./bin/www"
package.json里写了这么一条启动命令,使用config-lite
会自动找到test
配置文件,但是运行的时候总是报错找不到文件:
config-lite load "test " failed.
Error: Cannot find module 'test ' from 'F:\Git\B1IMD'
at Function.module.exports [as sync] (F:\Git\B1IMD\node_modules\config-lite\node_modules\resolve\lib\sync.js:40:15)
at loadConfigFile (F:\Git\B1IMD\node_modules\config-lite\index.js:51:26)
at configLite (F:\Git\B1IMD\node_modules\config-lite\index.js:34:16)
at Object.<anonymous> (F:\Git\B1IMD\app.js:8:36)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
最后发现是环境变量传参的问题,说来也奇怪,环境变量设置的test
,但是传到config-lite
里却变成了test.
,后面多了一个点,所以导致文件找不到,调试时把点去掉就没问题了,不知道为啥?
(Mac环境下没有问题)
nswbmw commented
可能你代码里改动了 NODE_ENV ?再确定下是哪的问题
pengloo53 commented
后面多的是个空格,把启动命令改成
"winTest": "SET NODE_ENV=test&& supervisor --harmony -i views/ ./bin/www"
就没问题了,也是醉了。