【问题标题】:npm module install locally only if not available globallynpm 模块仅在全局不可用时才在本地安装
【发布时间】:2016-10-09 17:11:07
【问题描述】:

我们有一个网络项目,其中包含多个 git submodules。对于功能测试,我们同时使用PhantomJSSelenium(一个用于本地开发,另一个用于 CI 部署和视觉回归测试)。

因为每个子模块都有自己的package.jsonPhantomJSselenium-standalone 在引导过程中被安装了多次。

我的问题是:我能否在全局范围内安装这些巨大的 npm 模块,并以某种方式让我的应用程序获取全局安装,并且仅当它不可用时,尝试从缓存或远程存储库中提取?

类似:

if(global_install){ continue } else{ npm install }

【问题讨论】:

    标签: git npm installation global local


    【解决方案1】:

    RedSpar0w 在这里提出的解决方案可能是:https://github.com/npm/npm/issues/2949#issuecomment-238703924

    {
        "name": "Meh",
        "description": "Some Description",
        "scripts": {
            "preinstall": "(npm list someDependency -g && npm install otherDependency -g) || (npm list someDependency || npm install someDependency) && npm install otherDependency -g"
        }
    }
    

    检查 someDependency 是否全局安装,如果是,则全局安装 otherDependency 否则检查 someDependency 是否在本地安装,如果没有,则在本地安装 someDependency,但无论哪种方式都全局安装 otherDependency,因为 someDependency 没有在本地安装

    您可以根据需要使用它。

    【讨论】:

      猜你喜欢
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 2015-09-10
      • 2017-09-20
      • 2011-08-14
      • 1970-01-01
      相关资源
      最近更新 更多