Не удалось разрешить модуль `привязка компонента` из ‘node_modulessocket.io-clientbuildmanager.js `: не удалось найти привязку компонента в рамках проекта

#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