#react-native #socket.io
#реагирующий-собственный #socket.io
Вопрос:
Я удалил node_modules и package-lock.json из моего собственного проекта с реакцией и выполнил установку npm и запуск react-native-android. После успешной сборки это выдало мне эту ошибку
error: Error: Unable to resolve module `component-bind` from `node_modulessocket.io-clientbuildmanager.js`: component-bind could not be found within the project.
If you are sure the module exists, try these steps:
1. Clear watchman watches: watchman watch-del-all
2. Delete node_modules: rm -rf node_modules and run yarn install
3. Reset Metro's cache: yarn start --reset-cache
4. Remove the cache: rm -rf /tmp/metro-*
at ModuleResolver.resolveDependency (D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcnode-hasteDependencyGraphModuleResolution.js:186:15)
at ResolutionRequest.resolveDependency (D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcnode-hasteDependencyGraphResolutionRequest.js:52:18)
at DependencyGraph.resolveDependency (D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcnode-hasteDependencyGraph.js:287:16)
at Object.resolve (D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrclibtransformHelpers.js:267:42)
at D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcDeltaBundlertraverseDependencies.js:434:31
at Array.map (<anonymous>)
at resolveDependencies (D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcDeltaBundlertraverseDependencies.js:431:18)
at D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcDeltaBundlertraverseDependencies.js:275:33
at Generator.next (<anonymous>)
at asyncGeneratorStep (D:Double ProjectsNewBlaBlaSixthnode_modulesmetrosrcDeltaBundlertraverseDependencies.js:87:24)
Я установил последнюю версию socket.io-client, но ошибка все еще не устранена.
Кто-нибудь может мне помочь, пожалуйста?
Ответ №1:
Во-первых, вы можете попробовать переустановить весь каталог зависимостей. Если в вашем репозитории каким-то образом изменена основная зависимость, это может вызвать проблемы. Запустите команду в главном каталоге проекта, где вы видите папку node_modules, чтобы удалить и установить их снова.
rm -rf node_modules amp;amp; npm i
Если это не сработает, вы можете попробовать выполнить шаги, описанные в сообщении об ошибке. Вот слегка измененная команда, готовая к копированию на ваш терминал:
watchman watch-del-all amp;amp; rm -rf /tmp/haste-map-react-native-packager-* amp;amp; rm -rf /tmp/metro-bundler-cache-* amp;amp; rm -rf node_modules/ amp;amp; yarn cache clean amp;amp; npm i
Это очистит watchman watches, сбросит кэш metro bundler, удалит кэш haste, переустановит весь каталог node_modules и очистит кэш yarn.
Ответ №2:
Попробуйте это:
- rm -rf node_modules amp;amp; yarn install (или npm)
- очистить кэши
- закройте диспетчер пакетов
- В android Studio аннулируйте кэши и закройте
- Перезапустите Android studio и симулятор (или телефон)
- Попробуйте снова запустить yarn android (react-native start-android)
Пожалуйста, также убедитесь, что ‘component-bind’ существует в socket-io