我们的合作网络非常封闭,所以正常的方法是:
npm install [email protected] /cdn-cgi/l/email-protection
不起作用,因为它被代理阻止,我们需要提供参数CYPRESS_INSTALL_BINARY
通过以下方式在跨环境的帮助下(因为我们这里主要有微软环境)。
cross-env CYPRESS_INSTALL_BINARY='\\localserver\cypress\3.4.1\cypress.zip' npm install [email protected] /cdn-cgi/l/email-protection
这在第一次安装时很容易做到,但问题是团队中的每个人都需要运行此命令。我希望只需输入即可npm install
他们会自动获得所有要求。当我们想要更新 cypress 包时,这一点尤为明显,因为每次都需要更改二进制 url。
我尝试添加一个preinstall
脚本到我的package.json
像这样:
"scripts": {
...
"preinstall": "cross-env CYPRESS_INSTALL_BINARY='\\localserver\cypress\3.4.1\cypress.zip'",
...
},
但似乎 cross-env 设置的环境变量在之后就“消失了”preinstall
已完成并且install
开始,因为 cypress 尝试从网络下载但失败。我同意它是临时的,但它需要在安装命令中持续存在。还看到了解决方案.env
文件,但这些文件都不支持install
尽我所见。
我当前的解决方案是在以下位置运行整个 cypress 安装preinstall
步骤,它可以工作,但似乎没有必要每次都运行双重安装。
因此,我所要求的是一种让开发人员只需在全新计算机上运行以下命令即可完成的方法。
git clone ...
cd ...
npm install
我怎样才能做到这一点?