嗯,我看到这个网站上已经有很多与我的问题相关的问题,但我也看到没有一个解决方案对我的特定情况有效,因此,我打开了这个问题,所以it is
。
上下文(环境)
<代码>F219
package.json
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject"
},
"dependencies": {
"@expo/vector-icons": "^9.0.0",
"expo": "^32.0.0",
"lodash.clonedeep": "^4.5.0",
"native-base": "^2.10.0",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-native-credit-card-input": "https://github.com/itspauloroberto/react-native-credit-card-input.git",
"react-native-password-strength-meter": "https://github.com/itspauloroberto/react-native-password-strength-meter.git",
"react-native-responsive-screen": "^1.2.0",
"react-native-scalable-image": "^0.5.0",
"react-navigation": "^3.0.9",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-form": "^8.1.0",
"redux-saga": "^0.16.2",
"url-join": "^4.0.0",
"vanilla-masker": "^1.2.0"
},
"devDependencies": {
"babel-preset-expo": "^5.0.0"
},
"private": true
}
问题所在
我的问题是,当我尝试运行下面的命令expo start
或npm start
时,它们是相同的。
我几乎不相信这是一个OS问题,因为上周我在另一个os elementary-os
上使用了相同的项目,我没有任何问题!
然后,当我执行expo start
或npm start
时,我得到了这个错误
Uncaught Error { [Error: EACCES: permission denied, open '/home/itspauloroberto/.expo/state.json.354451305']
errno: -13,
code: 'EACCES',
syscall: 'open',
path: '/home/itspauloroberto/.expo/state.json.354451305' }
如何重现:
使用nvm install 10.15.1
npm install expo-cli
expo start
.运行一个新的expo
我尝试过的
首先,我确信这个项目/应用程序运行得很好,因为我上周运行了另一个操作系统(elementaryOS),我在这个项目上工作时没有任何问题,而且我有一个团队也没有任何问题。
我尝试重新安装我的node
和npm
,expo-cli
.
rm -rf node_modules
,npm install
.
package.lock.json
和npm install
。
chown myuser project-folder
给我的用户访问该文件夹(在.expo文件夹和node_modules文件夹上也尝试过)
chmod 777 and 755 and 655
>d79前缀运行<
expo start
>d80,或者两个sudo都没有尝试删除存储库并再次使用git clone
克隆它。
ls -ld
drwxr-xr-x 2 itspauloroberto itspauloroberto 4096 Feb 20 14:54 .
正因为如此,我创建了这个问题,即使我在许多网站上看到这个错误,也没有一个网站有我的上下文。
发布于 2019-02-21 04:16:50
我找到问题了!
主要原因是,在某个时刻,我使用 root
安装了与expo相关的东西,然后expo在另一个目录中创建了一些属于用户的文件,而这个目录不在我正在工作的项目文件夹中。
所以,这是因为expo最初安装时的初始文件显然是使用sudo
安装的,因为目录home/itspauloroberto/.expo
中的文件和文件夹属于root
(我使用la -ls
命令进行了检查,并将root
视为所有者)。而不是我的用户itspauloroberto
,这是错误的主要来源。
要消除此错误,请执行以下步骤:
使用expo start
导航到directory.
home/your_user/
.expo
文件夹(由于文件夹所有者是根用户,因此需要sudo rm -rf .expo
)
如果发现与某个目录或文件相关的任何其他错误,请导航到错误消息上的文件/目录并将其删除。因为它也应该属于root
用户。
发布于 2020-11-03 20:44:11
请先卸载expo。然后卸载npm并重新安装npm,然后expo
发布于 2021-10-06 22:29:08
我遇到这个问题是因为我一直在本地使用cmd
,并在Ubuntu WSL2子系统中使用bash。
我必须从ubuntu终端安装一些软件包,所以除了要从WSL主目录中删除一个.expo
文件之外,我还必须删除我的node_modules
文件,并从我的windows-cmd控制台运行npm install
。
https://stackoverflow.com/questions/54793345
复制相似问题