这个让我难过。非常容易重现。
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
都不会安装它。
我是否想知道应该如何工作?还是我发现了错误?