Возможно, есть способ сделать это через CLI npm
, но я не могу его найти. Кажется, что не существует npm shrinkwrap
для глобальных пакетов.
Я думал, что это возможно с помощью npm link
(что создает символическую ссылку из локального пакета в глобальную папку), но работает npm install -g [email protected]
после npm link
, не перезаписывать ранее установленный глобальный пакет.
Один (очень хакерский) способ заставить npm сбой при попытке перезаписать установленный вами глобальный пакет - удалить права на запись для этой папки (для учетной записи пользователя, которая работает npm
), с чем-то вроде этого chmod -w /usr/local/lib/node_modules/<some package>
.
Как только вы это сделаете, npm
не может установить/обновить этот глобальный пакет, поскольку он не имеет доступа на запись. Я не могу сказать, что я рекомендую пойти по этой дороге.
Я понял ваш вопрос в связанной проблеме, но я не понял ни одного из ответов * Извините, мне пришлось удалить и отправить комментарий * – PandaWood