git - npm 模块仅在全局不可用时才在本地安装

标签 git npm installation global local

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

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

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

类似于:

if(global_install){ 继续 } 别的{ npm 安装 }

最佳答案

也许 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 没有在本地安装

您可以根据需要使用它。

关于git - npm 模块仅在全局不可用时才在本地安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38496347/

相关文章:

javascript - 需要关于我不断收到的 react.js 错误的帮助

javascript - 从 fork 的 npm 包导入组件时出错

php - 如何修复 Composer 错误 : "could not scan for classes inside dir"?

带有 IntelliJ IDEA 的 git : Could not read from remote repository

git - 如何让 -p 成为 git stash show 的默认设置?

git - 从 Git 对象恢复文件

node.js - 配置 Visual Studio 的任务运行程序资源管理器使用哪个 NPM?

installation - 如何将默认安装目录更改为用户主目录(在 Windows 上)。?

installation - 如何在 NSIS 中需要和不需要管理员权限之间切换?

Git 不跟踪 Hexo 主题文件