Yarn: Запрос функции: централизованная папка node_modules

Созданный на 29 нояб. 2016  ·  4Комментарии  ·  Источник: yarnpkg/yarn

Есть ли способ установить все зависимости npm глобально (централизованно), чтобы вы не хранили node_modules в папке проекта?

Это вызывает проблемы, так как структура, в которой я работаю, довольно тяжелая, и у меня есть более 40 проектов, каждый со своей собственной папкой node_modules, упакованной миллионами файлов размером 1 КБ.

Это занимает удивительно много драгоценного места на моем SSD, и было бы очень хорошо, если бы я мог просто установить эти пакеты один раз, со ссылкой на package.json любого проекта на мой локальный репозиторий.

cat-feature help wanted needs-discussion

Самый полезный комментарий

https://github.com/rstacruz/pnpm делает именно это. Использует функцию --preserve-symlinks Node.

Все 4 Комментарий

@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, поэтому я закрываю его в пользу этого.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги