Установить каталог локального модуля npm без символических ссылок?

Итак, вот простая структура файла.

/my-module
..package.json
/my-app
..package.json

Я хочу, чтобы my-app установил my-module локально. Я пробовал это:

"dependencies": {
    "myModule": "../my-module"
}

Параметр -no-bin-links не работает, он влияет только на node_modules/bin. Он создает символическую ссылку и не устанавливает node_modules. Я хотел бы сделать одно из двух: не использовать символическую ссылку и устанавливать node_modules, или использовать символическую ссылку и устанавливать модули. Идеально сочетается с peerDependencies без использования символических ссылок.

Вы пробовали использовать lerna? github.com/lerna/lerna

Calle Bergström 24.04.2018 22:45

Нет, я впервые об этом слышал. Использует ли под капотом npm?

jemiloii 24.04.2018 22:56

Вы пробовали с "myModule": "file:../my-module"?

Sven 24.04.2018 22:58

@jemiloii да, и его единственная цель - решить многие проблемы, связанные с содержанием нескольких пакетов npm в одном репо. Он помогает вам с управлением версиями, общими зависимостями и локально разрешаемыми зависимостями (которые, кажется, вас больше всего интересуют)

Calle Bergström 25.04.2018 12:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
4
4 340
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если папка содержит программу, описанную файлом package.json, вы можете установить npm install <folder> или npm install --save/--save-dev <folder> для обновления зависимого package.json.

Что ж, это помогает. Я добавил его в свой сценарий предварительной установки

jemiloii 27.04.2018 04:24

Это по-прежнему создает символическую ссылку вместо копирования пакета на node-modules.

Fook 20.07.2018 19:29

npm current не может быть установлен напрямую из папки без символической ссылки.

Вы можете обойти это, сгенерировав архив из папки с npm pack, запустив его из каталога пакета, который вы хотите установить, а затем npm install <tarball>, где <tarball> - это путь к вашему архиву пакета.

Я обнаружил, что это подход, который я должен использовать с версией npm> 3 для установки из локального каталога.

Richard Walker 29.05.2020 04:24

Другие вопросы по теме