我正在使用grunt-jsdoc来管理jsdoc命令的执行,该命令依赖于 Java,需要设置 JAVA_HOME 环境变量。假设他们已经拥有 node.js 和 Java,我试图将本地开发人员设置(在 Linux 或 Windows 上)限制为:
- 签出项目
- 跑
npm install
我通过使用grunt-shell插件并在 jsdoc 任务之前运行这样的任务来在 Linux 上工作:
// left out the part where I don't execute this task if JAVA_HOME already set
shell: {
getjavahome_linux: {
command: 'readlink -f /usr/bin/java | sed "s:bin/java::"',
options: {
callback: function(err, stdout, stderr, cb) {
process.env.JAVA_HOME = stdout;
cb();
}
}
}
}
但是我还没有找到适用于 Windows 的类似命令,更不用说其他平台了。我的问题:
A)在 Grunt 中是否有更好的方法不需要这些特定于平台的命令?
或者
B)如果没有,任何人都有一个 Windows 命令可以执行与上述 Linux 版本等效的操作吗?
注意:实际上在 shell 命令中设置 JAVA_HOME 不适用于 grunt-jsdoc,但获取输出和设置process.env.JAVA_HOME
效果很好。