Как сказано в комментариях, команда фактически удаляет модуль и переустанавливает его на новом месте.
Ответ 4
Если в вашем проекте еще нет файла блокировки или файла сжатия, вы можете просто переместить соответствующую строку в свой package.json.
(Я не рекомендую не использовать файлы блокировки)
Ответ 5
Проблема с использованием команд npm или yarn заключается в том, что существует вероятность того, что повторно добавленная версия будет отличаться от той, которая используется в настоящее время. Если это то, что вы хотите - и переход, и апгрейд, - тогда продолжайте и используйте принятый ответ.
Если нет, просто отредактируйте ваш package.json вручную, чтобы переместить строку из объекта devDependencies объект dependencies (создавая ее при необходимости). Вы можете пойти и в другом направлении.
Файл блокировки не содержит никакой информации о том, являются ли вещи зависимостями prod или dev, поэтому его не нужно обновлять.