使用 npm 安装 react-navigation 会报错
installing react-navigation with npm gives an error
我知道已经有关于此的问题,但它们没有用,其中大部分是针对 create-react-native-app 的,但我正在使用 expo。
我 运行 npm install react-navigation
它给了我这个错误:
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: file-uri-to-path@1.0.0 (node_modules\file-uri-to-path):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename 'C:\Users\yaelp\Downloads\meals-cat\node_modules\file-uri-to-path' -> 'C:\Users\yaelp\Downloads\meals-cat\node_modules\.file-uri-to-path.DELETE'
npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path C:\Users\yaelp\Downloads\meals-cat\node_modules\hoist-non-react-statics
npm ERR! dest C:\Users\yaelp\Downloads\meals-cat\node_modules\.hoist-non-react-statics.DELETE
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\Users\yaelp\Downloads\meals-cat\node_modules\hoist-non-react-statics' -> 'C:\Users\yaelp\Downloads\meals-cat\node_modules\.hoist-non-react-statics.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\yaelp\AppData\Roaming\npm-cache\_logs20-10-01T17_02_25_868Z-debug.log
尝试像使用 expo 一样使用 expo install react-navigation
。
如果需要使用npm,试试:
npm install react-navigation --force
尝试安装所有依赖项(来自react-navigation的文档)。
运行:
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
我希望你现在已经解决了你的问题(自你发布问题以来已经过去了一个多月)。对于那些可能得到它的人(就像我一样),这里有一些可能的解决方案:
用纱线安装react-navigation:
在官方react-navigation docs里面有一个yarn install命令:
纱线添加react-native-reanimatedreact-native-gesture-handlerreact-native-screensreact-native-safe-area-context@react-native-community/masked-view
尝试删除 package-lock.json 文件,然后再次尝试使用 npm 安装 react-navigation
正在终止您的应用,然后尝试安装 react-navigation、
正在删除您的 node_modules 并再次执行 npm i
,
尝试卸载 node、npm 及其所有内容(当然之后重新安装所有内容)。
我从这个 github issue 中得到了这些解决方案。我希望其中之一能有所帮助。
尝试 运行 npm install,然后 npm install @react-navigation/native from reactnavigation
我知道已经有关于此的问题,但它们没有用,其中大部分是针对 create-react-native-app 的,但我正在使用 expo。
我 运行 npm install react-navigation
它给了我这个错误:
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: file-uri-to-path@1.0.0 (node_modules\file-uri-to-path):
npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: no such file or directory, rename 'C:\Users\yaelp\Downloads\meals-cat\node_modules\file-uri-to-path' -> 'C:\Users\yaelp\Downloads\meals-cat\node_modules\.file-uri-to-path.DELETE'
npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path C:\Users\yaelp\Downloads\meals-cat\node_modules\hoist-non-react-statics
npm ERR! dest C:\Users\yaelp\Downloads\meals-cat\node_modules\.hoist-non-react-statics.DELETE
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\Users\yaelp\Downloads\meals-cat\node_modules\hoist-non-react-statics' -> 'C:\Users\yaelp\Downloads\meals-cat\node_modules\.hoist-non-react-statics.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\yaelp\AppData\Roaming\npm-cache\_logs20-10-01T17_02_25_868Z-debug.log
尝试像使用 expo 一样使用 expo install react-navigation
。
如果需要使用npm,试试:
npm install react-navigation --force
尝试安装所有依赖项(来自react-navigation的文档)。
运行:
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
我希望你现在已经解决了你的问题(自你发布问题以来已经过去了一个多月)。对于那些可能得到它的人(就像我一样),这里有一些可能的解决方案:
用纱线安装react-navigation: 在官方react-navigation docs里面有一个yarn install命令:
纱线添加react-native-reanimatedreact-native-gesture-handlerreact-native-screensreact-native-safe-area-context@react-native-community/masked-view
尝试删除 package-lock.json 文件,然后再次尝试使用 npm 安装 react-navigation
正在终止您的应用,然后尝试安装 react-navigation、
正在删除您的 node_modules 并再次执行
npm i
,尝试卸载 node、npm 及其所有内容(当然之后重新安装所有内容)。
我从这个 github issue 中得到了这些解决方案。我希望其中之一能有所帮助。
尝试 运行 npm install,然后 npm install @react-navigation/native from reactnavigation