Как использовать Yarn 2 (или 3) для запуска приложения create-response-app без указания нового каталога?
Я пытаюсь перейти с NPM на Yarn с единственной целью - избавиться от папки node_modules.
Я пытаюсь использовать инструмент CRA. Однако на CRA советует использовать
yarn create
, которого нет в документации Yarn 2. После некоторого исследования я обнаружил, что мне следует использовать команду, которая эквивалентна
npx
.
Проблема в том, что использовать
yarn dlx
, Сначала у меня должна быть пряжа 2. Yarn 2 требует, чтобы я установил его локально в каталоге моего проекта. Таким образом, я вынужден иметь второй уровень структуры папок. Я хочу, чтобы на моем рабочем столе была папка под названием myApp. Но мне нужно создать папку myApp для установки Yarn 2, прежде чем я смогу даже начать использовать dlx для запуска
create-react-app
.
Я что-то упускаю?
Спасибо.
2 ответа
Недавно я столкнулся с той же ситуацией... мое решение было:
-
yarn create react-app myApp
(да, в моем случае пряжа 1,22) - переименуйте package.json на некоторое время
-
yarn init -2
# это создаст еще один package.json - объединить старый package.json с вновь созданным
-
yarn install
теперь вы можете настроить PnP, как описано в документации Yarn или...
вы можете создать напрямую с npx:
npx create-react-app your-app-name --use-pnp
Да, пока вам придется использовать второй слой структуры папок.
Предполагая, что у вас установлена последняя версия Node 14.x, 16.x или любая более поздняя версия, минимальные инструкции следующие.
Предпосылки:
- Убедитесь, что corepack включен через
corepack enable
команда. Это нужно сделать только один раз.
Шаги:
-
mkdir enclosing; cd enclosing
- создать вложенный каталог -
yarn set version stable
- использовать последнюю стабильную версию Yarn в каталоге eclosing и во всех его подкаталогах -
rm package.json
- Удалитьpackage.json
во вложенном каталоге, сгенерированном предыдущей командой, чтобы не путать Yarn с тем, что вложенный каталог является корнем проекта. -
yarn create react-app my-app
- проект будет сгенерирован с помощью Yarn 3 и по умолчанию будет использовать схему установки PnP -
cd my-app; yarn set version latest
- прикрепить Yarn 3+ к проекту - Необязательный шаг, если вы хотите использовать
node_modules
установить схему с Yarn 3+, внутри прогонятьyarn config set nodeLinker node-modules
После этого можно выезжать
my-app
где угодно и удалить
enclosing
каталог.
Чтобы упростить все это в
yarn dlx create-react-app
Я открыл запрос на включение
create-react-app
, пожалуйста, поместите смайлик с большим пальцем вверх здесь:https://github.com/facebook/create-react-app/pull/12366