im getting this error in react-native, and the project cannot start using an android emulator. I'm not using Expo, and tried to clean gradlew and delete node_modules and see if it have some errors but nothing have worked for me.
This is the error log i have:
error: ReferenceError: SHA-1 for file /home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/lib/polyfills/require.js (/home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/lib/polyfills/require.js) is not computed
at DependencyGraph.getSha1 (/home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/node-haste/DependencyGraph.js:263:13)
at /home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/DeltaBundler/Transformer.js:211:26
at Generator.next (<anonymous>)
at asyncGeneratorStep (/home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/DeltaBundler/Transformer.js:46:24)
at _next (/home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/DeltaBundler/Transformer.js:66:9)
at /home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/DeltaBundler/Transformer.js:71:7
at new Promise (<anonymous>)
at /home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/DeltaBundler/Transformer.js:63:12
at Transformer.transformFile (/home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/DeltaBundler/Transformer.js:236:7)
at /home/logan/.nvm/versions/node/v12.16.1/lib/node_modules/react-native/node_modules/metro/src/Bundler.js:87:34
I have used this in metro/src/node-haste/DependencyGraph.js, but i don't know if it is the best solution because i will lose it if i delete node_modules again:
if (!sha1) {
return getFileHash(resolvedPath)
function getFileHash(file) {
return require('crypto')
.createHash('sha1')
.update(fs.readFileSync(file))
.digest('hex')
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.