npm也列为应用程序依赖项时,不安装dev依赖项的依赖项

时间:2018-10-13 04:58:11

标签: node.js npm dependencies install

这个让我难过。非常容易重现。

package.json

{
    "dependencies": {},
    "devDependencies": {
        "gulp": "^3.9.1",
        "gulp-less": "^4.0.1"
    }
}

将其放在文件夹中,然后运行npm install --only=dev。我正在使用节点v8.9.4和npm v6.4.1。

一切都会顺利进行。打开node_modules目录,并验证其中有less模块,因为它是gulp-less的依赖项。您可以使用此gulpfile.js进行测试:

var gulp = require('gulp');
var less = require('gulp-less');
gulp.task('default')

好的,现在将"less": "^3.8.1"添加到“ dependencies”中,以便您的package.json如下所示:

{
    "dependencies": {
        "less": "^3.8.1"
    },
    "devDependencies": {
        "gulp": "^3.9.1",
        "gulp-less": "^4.0.1"
    }
}

删除node_modules文件夹和程序包锁定文件,然后重新运行npm install --only=dev

您将看到无法立即运行gulp文件,如果打开并在less中查找node_modules软件包,则该软件包将尚未安装。

这对我来说是可重复的行为。每当我为应用程序依赖项添加的内容较少时,install --only=dev都不会安装它。

我是否想知道应该如何工作?还是我发现了错误?

0 个答案:

没有答案