好吧,我看到已经有很多问题与我在这个网站上的问题有关,但我也看到没有解决方案适用于我的具体情况,因此,我打开这个问题,所以它不是重复。
的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
是相同的。
我很难相信这是一个操作系统问题,因为上周我在另一个操作系统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和nodenpm install expo-cli
安装expo-cliexpo init
创建一个新的expo react-native项目。expo start
运行它。首先,我确信这个项目/应用程序运行正常,因为我上周有另一个操作系统(elementaryOS),我正在处理该项目没有任何问题,我也有一个工作团队没有问题也。
node
和npm
以及expo-cli
。rm -rf node_modules
和npm install
。package.lock.json
和npm install
。nvm
节点版本管理器,(我正在使用它atm)。chown myuser project-folder
给我的用户访问该文件夹(也试过.expo文件夹和node_modules文件夹)chmod 777 and 755 and 655
整个项目文件夹。expo start
前缀运行npm start
,sudo
命令但是sudo找不到expo
或者既没有找到npm
。git clone
克隆它。因为我正在创建这个问题,即使我在很多网站上看到这个错误都没有我的背景。
主要原因是,在某些时刻,我使用sudo
安装与expo相关的东西,然后expo在另一个目录中创建了一些属于root
用户的文件,该目录不在我工作的项目文件夹中。
所以这是因为展示初始安装的expo的初始文件显然是使用sudo
安装的,因为这个目录中的文件:home/itspauloroberto/.expo
以及文件夹归root
所有(我使用la -ls
命令检查它并看到root
作为所有者。)而不是我的用户itspauloroberto
,这是错误的主要来源。
home/your_user/
目录。.expo
删除sudo rm -rf .expo
文件夹(因为文件夹所有者是root,所以需要sudo)expo start
再次运行世博会如果发现与某个目录或文件相关的任何其他错误,请导航到错误消息上的文件/目录并将其删除。因为它也应该属于root
用户。