Есть ли способ установить все зависимости npm глобально (централизованно), чтобы вы не хранили node_modules в папке проекта?
Это вызывает проблемы, так как структура, в которой я работаю, довольно тяжелая, и у меня есть более 40 проектов, каждый со своей собственной папкой node_modules, упакованной миллионами файлов размером 1 КБ.
Это занимает удивительно много драгоценного места на моем SSD, и было бы очень хорошо, если бы я мог просто установить эти пакеты один раз, со ссылкой на package.json любого проекта на мой локальный репозиторий.
@alshdavid вещи, которые вы require
являются зависимостями и должны быть установлены локально. глобальные модули предназначены для инструментов командной строки, не связанных с проектом.
imo, это не совсем вопрос пряжи, если пряжа не обеспечивает способ символической ссылки глобальных модулей в локальный каталог, что, как я понимаю, не будет работать с экосистемой npm.
Думаю, это было бы полезно. Проблема в том, что трудно изменить способ работы без изменения Node.js, поскольку Node.js ожидает, что все будет выполняться определенным образом, а модули - определенным образом. 😞 Я бы также хотел переименовать каталог с node_modules
во что-нибудь другое, поскольку не все используют Node.js.
Есть несколько проблем GitHub, связанных с символическими ссылками и жесткими ссылками как потенциальным решением для производительности и дискового пространства - № 499 касается жестких ссылок. Однако файлы по-прежнему будут занимать некоторое место в файловой системе. Я чувствую, что файловая система Copy-on-Write, такая как BTRFS или ZFS, тоже поможет в этом, поскольку файлы фактически не будут скопированы, а вместо этого будут просто указывать на исходные файлы в каталоге кеша.
https://github.com/rstacruz/pnpm делает именно это. Использует функцию --preserve-symlinks
Node.
Самым близким к этому является # 499, поэтому я закрываю его в пользу этого.
Самый полезный комментарий
https://github.com/rstacruz/pnpm делает именно это. Использует функцию
--preserve-symlinks
Node.