Это меня поставило в тупик.Очень легко воспроизводится.
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"
к "зависимости", чтобы ваш 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
.
Я что-то упускаю из-за того, как это должно работать, или я нашел ошибку?