我正在尝试将我的 npm 脚本设置为根据环境以不同的方式运行。我想检查process.env.DEPLOY_URL
是否存在,并据此运行单独的脚本。
现在,我有——
"build": "if [[ -z ${DEPLOY_URL} ]]; then npm run test:integration; else webpack --config webpack.prod.config.js --colors; fi"
但是,运行此功能的命令行显示
sh: 1: [[: not found
当process.env.DEPLOY_URL
可用时,就会发生这种情况,因此当我不希望它时,它会击中其他。我猜正在运行它的命令行没有 bash。寻找解决此问题的方法 - 或通过 npm 脚本实现此目的的任何方法。谢谢!
我正在寻找可能使用 https://github.com/ericclemmons/if-env 的东西,但据我所知,它没有 !env.var 设置。
您可能正在运行一个使用 POSIX 兼容 shell sh
的 shell,其中不存在 [[
运算符。这是一个bash
特定的功能。若要使脚本使用 POSIX 兼容字符串空检查运算符,请使用 [
运算符
if [ -z "${DEPLOY_URL}" ]