命令行环境变量写法问题,如何使用cross-env解决?
发布于 作者:苏南大叔 来源:程序如此灵动~

本文也是一个老生常谈的文章,使用cross-env
这个命令/工具,来解决不同操作系统下,命令行环境变量写法不一致的问题。非常实用也非常基础。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。测试环境:win10
/centos
/mac
。
问题回顾
其实要解决的问题很简单,参考前面一篇文章即可:
对比一下相关命令就是:
set a=苏南&&set b=sunan&&node t.js
export a=苏南&&export b=sunan&&node t.js
a=苏南 b=sunan node t.js
cross-env 解决方案
如果使用本文的cross-env
来解决上面的命令差异问题的话,无视操作系统,统一的设置环境变量的方式命令就是:
cross-env a=苏南 b=sunan node t.js
注意,这里没有&&
符号。
cross-env 安装方式
其实,这里有个问题就是:cross-env
到底是应该全局安装,还是局部安装呢?这个问题,可以参考下面的链接加深理解:
情况一
苏南大叔认为,应该分情况进行讨论。如果是在纯粹的命令行里面使用上述命令的话,就必须使用全局安装了。
npm i cross-env -g
情况二
如果是在npm run
的scripts
里面使用的话,那不妨使用:
npm i cross-env --save-dev
npm i cross-env -D
相关文章
在以前的文章里面,曾经提到过类似的解决方案。参考文章:
都是采用cross-env
来解决的问题。
结束语
更多nodejs
的相关文章,可以参考苏南大叔的文章链接:


