monorepo: выставка с рабочим пространством пряжи и использованием установки expo - PullRequest
1 голос
/ 26 января 2020

Я пытаюсь настроить проект React and Expo monorepo, все выглядит хорошо, пока я не хочу установить react-navigation с expo install в соответствии с документами реагирования-навигации, потому что установка expo использует пряжу в фоновом режиме, и потому что это В рабочей среде эта ошибка выскакивает, которую я понятия не имею, как обойти. есть идеи?

yarn add v1.21.1
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
error Running this command will add the dependency to the workspace root rather than the workspace itself, which might not be what you 
want - if you really meant it, make it explicit by running this command again with the -W flag (or --ignore-workspace-root-check).     
yarnpkg exited with non-zero code: 1
Set EXPO_DEBUG=true in your env to view the stack trace.

1 Ответ

2 голосов
/ 13 февраля 2020

Вот как я заставил его работать с expo-yarn-workspaces .
В моем глобальном пакете . json файл я добавил следующие коды.

{
  "private": true,
  "workspaces": [
    "packages/*"
  ],
}

, затем я создал папку в моем каталоге root с именем packages .
В моем терминале я cd пакеты , затем я создал новый выставочный проект с помощью этой команды

expo init app

затем я запустил npm install , чтобы установить все мои зависимости. теперь пришло время установить expo-yarn-workspace с npm install --save-dev expo-yarn-workspaces . После этого вы добавляете этот скрипт в ваш пакет . json

"scripts": {
    ...,
    "postinstall": "expo-yarn-workspaces postinstall"
  },

создайте файл и назовите его metro.config. js и вставьте следующий код

const { createMetroConfiguration } = require("expo-yarn-workspaces");

module.exports = createMetroConfiguration(__dirname);

в вашем пакете . json заменить / добавить эту строку кода

"main": "__generated__/AppEntry.ts",

run npm run postinstall

, затем вы можете запустить приложение с помощью npm start --clear , чтобы очистить кэш

ПРИМЕЧАНИЕ. Если вы запускаете create- реагировать-приложение и реагировать-нативно, они большинство из них имеют одну и ту же версию, поэтому вы должны запустить npm установить реактив-реактив в обеих папках, чтобы иметь возможность использовать одну и ту же версию.


My github repo

также Проверьте это руководство , если вам не все равно.

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...