首页 > 解决方案 > NPM 在 node_modules 下安装非根依赖项?

问题描述

该项目@superflycss/component-navbox具有以下依赖项:

    "devDependencies": {
        "@superflycss/component-body": "^1.0.1",
        "@superflycss/component-display": "^1.0.2",
        "@superflycss/component-header": "^2.1.0",
        "@superflycss/component-test": "^3.6.14",
        "@superflycss/foundation": "^2.0.3",
        "@superflycss/superflycss": "^1.0.0",
        "@superflycss/utilities-colors": "^3.0.8",
        "@superflycss/utilities-effects": "^2.1.0",
        "@superflycss/utilities-fonts": "^3.3.7",
        "@superflycss/utilities-format": "^1.1.1",
        "@superflycss/utilities-layout": "^4.0.4",
        "lite-server": "^2.4.0",
        "npm-check-updates": "^2.15.0"
    },
    "dependencies": {
        "@superflycss/variables-dimension": "^2.0.0",
        "@superflycss/variables-layout": "^2.0.0"
    }

所以在做的时候:

git clone git@github.com:superflycss/component-navbox.git

cd component-navbox
npm i

我希望只有根依赖项显示在node_modules文件夹中。

然而,另一个依赖项variables-colors也出现在node_modules.

IIUC 这不应该发生还是我错过了什么?

这样做的问题之一是variables-colors正在安装的版本已经过时,但是由于utilities-colors也依赖于此,它使用旧版本而不是新版本,这会导致 linting 错误等。

标签: javascriptcssnode.jsnpm

解决方案


package-lock.json和之间存在不匹配package.json。我删除了锁定文件,node_modules并且做了npm i并且它刷新了所有依赖项都是正确的。


推荐阅读