如何设置“npm install”期间使用的环境变量?

2024-02-21

我们的合作网络非常封闭,所以正常的方法是:

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

我怎样才能做到这一点?


我这边的情况也一样,只是我想阻止在本地计算机上安装 cypress。

通过添加解决了这个问题.npmrc到项目的根目录并添加到版本控制。


.npmrc 的内容:

CYPRESS_INSTALL_BINARY=0


由于环境变量是在安装时使用的,因此解决方案为cross-env这是不可能的,因为人们无法确定cross-env已安装。

让我知道它是否有帮助或者您已经有其他解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置“npm install”期间使用的环境变量? 的相关文章

随机推荐

  • C++ freeRTOS任务,非静态成员函数的无效使用

    哪里有问题 void MyClass task void pvParameter while 1 this gt update void MyClass startTask xTaskCreate this gt task Task 204
  • 如何重新创建以前的活动?

    我有一个主要活动 我们称之为 A 和第二个活动 我们称之为 B 用于更改应用程序的语言 关键是 当我单击按钮更改语言时 我也会调用recreate B 改变它的语言 到这里为止就OK了 当我返回主活动 A 并且它尚未更新语言时 问题就出现了
  • Swift tableView insertRows 在顶部,同时保持正确的索引

    Problem 我需要顶部填充tableView 以保持现有单元格的内容加载 例如播放视频 ref child live mode queryOrderedByKey queryLimited toLast 200 observe chil
  • 为 WebdriverIO/Cucumber 框架生成 HTML 报告

    我在用WebdriverIO 黄瓜 https github com webdriverio wdio cucumber framework wdio cucumber framework 用于我的测试自动化 我想在 HTML 文件中获取测
  • 在 PhoneGap 平台上使用 OpenID

    我目前正在使用 PhoneGap 开发一个应用程序 我的应用程序使用 OpenID 来验证用户身份 成功验证用户身份后 它应该返回到我的应用程序 我已使用 location href 将页面重定向到本地地址 例如 iOS 应用程序的 fil
  • 为什么 XP 上的 IE8 无法使用 JQuery 正确读取 XML?

    在 data xml 中给出此 XML
  • 如何记录 Python 崩溃?

    我正在树莓派中运行 python 代码 该代码应该永远有效 然而 几个小时后它崩溃了 由于它在远程计算机上运行 因此我看不到它在崩溃期间给出的消息 如何将此消息存储在文件中以便我可以看到问题所在 这是在linux下自主执行的吗 或者我应该编
  • 从 nlohmann json 访问元素

    我的 JSON 文件类似于此 active false list1 A B C objList key1 value1 key2 0 1 现在使用 nlohmann json 我已经设法存储它 并且当我进行转储时jsonRootNode d
  • c# readonly DataGridView 与一个启用的单元格

    我有只读 datagridview 在某些特定情况下 我需要在双击行后启用一个单元格 使 readonly false 并将焦点放在当前行中的该特定单元格上 例如输入它 光标应该开始闪烁 I have private void dataGr
  • 检查文档状态 DocuSign

    如何检查文档是否已使用 DocuSign API 签名 是否存在可以让我了解文档状态的 API 服务 我尝试获取 已完成 文件夹中的所有对象 但响应不包含 documentId 并且我不知道每个对象是哪个文档 DocuSign 轨道接受者状
  • 有没有免费的库可以实现类似于MSMQ(Microsoft Message Queuing)的消息队列?

    我有兴趣使用一个免费库 该库具有类似于 MSMQ 的功能 可以在 win 表单应用程序中的 3 个应用程序域之间发送 接收消息 我只需要专用队列功能 没有公共队列或 AD 支持 请提供链接和一些优点 缺点 如果您认为需要更多积分来了解更详细
  • C语言中\n是多字符吗?

    我读到 n 由 CR 和 LF 组成 每个都有自己的 ASCII 代码 那么C中的 n是用单个字符表示还是多字符表示呢 Edit 请具体说明您的答案 而不是简单地说 是的 or 不 不是 在 C 程序中 它是一个字符 n 代表行尾 然而 某
  • JavaCV 录像机方向在纵向模式下不正确

    嗨 我正在使用https github com bytedeco javacv https github com bytedeco javacv 用于录制视频 使用横向模式时方向很好 但当我将方向更改为纵向模式时 视频旋转 90 度 任何人
  • 使用 NHibernate 时出错

    考虑到这个例子 https www hibernate org 362 html作为基本示例 我创建了该应用程序 但是当我执行该应用程序时出现以下错误 The ProxyFactoryFactory was not configured 使
  • 在 Bootstrap 4 中的模式中滚动下拉菜单

    我目前正在从 Bootstrap4 alpha 迁移到 Bootstrap4 stable 到目前为止 一切都很好 除了我的模态出现的这个问题 我在任何地方都使用下拉菜单 包括包含许多项目的下拉菜单 以前 滚动效果很好 现在它没有 当我滚动
  • 将 pandas 函数实现为 numpy 函数

    有没有办法可以转换xy mean使用 pandas 库计算的函数就像y mean功能 我发现 pandas 功能Y mean pd Series PC list rolling number mean dropna to numpy 比 n
  • 将字符串转换为 Uri

    如何在 Java Android 中将字符串转换为 Uri IE String myUrl http stackoverflow com myUri 您可以使用parse静态方法来自Uri import android net Uri Ur
  • 已知常微分方程的李亚普诺夫谱 - Python 3 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想用数值方法计算李亚普诺夫谱洛伦兹系统 https en wikipedia org wiki Lorenz syst
  • Azure 服务主体没有足够的权限来管理其他服务主体

    我可以使用 Azure 或从门户控制台使用以下命令创建服务主体az cli az ad sp create for rbac name myspuser password adfhrrreeuwrgwejdfgds 然后 我在订阅级别分配所
  • 如何设置“npm install”期间使用的环境变量?

    我们的合作网络非常封闭 所以正常的方法是 npm install email protected cdn cgi l email protection 不起作用 因为它被代理阻止 我们需要提供参数CYPRESS INSTALL BINARY