首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在expo-react原生应用程序上运行“expo start”,权限问题

无法在expo-react原生应用程序上运行“expo start”,权限问题
EN

Stack Overflow用户
提问于 2019-02-21 02:52:03
回答 4查看 7.9K关注 0票数 7

嗯,我看到这个网站上已经有很多与我的问题相关的问题,但我也看到没有一个解决方案对我的特定情况有效,因此,我打开了这个问题,所以it is

上下文(环境)

  • Linux Mint 19.1 Cinnamon
  • Expo v32
  • React-Native-Application
  • GitHub私有存储库(我从中克隆了应用程序)
  • (v10.15.1)
  • NPM最新的LTS v6.4.1
    • /\都使用NVM (节点版本管理器)

    <代码>F219

package.json

代码语言:javascript
复制
{
"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 startnpm start时,它们是相同的。

我几乎不相信这是一个OS问题,因为上周我在另一个os elementary-os上使用了相同的项目,我没有任何问题!

然后,当我执行expo startnpm start时,我得到了这个错误

代码语言:javascript
复制
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

  • Install expo-cli使用npm install expo-cli

  • Create安装/使用OS Linux Mint 19.1 Cinnamon.

  • Install react (node-version-manager)

  • Install npm和节点使用expo start.

运行一个新的expo

我尝试过的

首先,我确信这个项目/应用程序运行得很好,因为我上周运行了另一个操作系统(elementaryOS),我在这个项目上工作时没有任何问题,而且我有一个团队也没有任何问题。

我尝试重新安装我的nodenpmexpo-cli.

  • I也尝试rm -rf node_modulesnpm install.

  • I再次尝试删除package.lock.jsonnpm install

  • 我尝试为npm全局安装设置全局目录,因为here

  • I尝试安装D68>节点版本管理器,(我正在使用它自动柜员机)。

  • 我尝试chown myuser project-folder给我的用户访问该文件夹(在.expo文件夹和node_modules文件夹上也尝试过)

  • 我尝试使用< chmod 777 and 755 and 655 >d79前缀运行<

  • d78命令,但sudo找不到< expo start >d80,或者两个sudo都没有尝试删除存储库并再次使用git clone克隆它。

  • 和许多很多其他东西。(我也做了猎物)

  • 也没有SELinux参与,如下所示:

ls -ld

drwxr-xr-x 2 itspauloroberto itspauloroberto 4096 Feb 20 14:54 .

正因为如此,我创建了这个问题,即使我在许多网站上看到这个错误,也没有一个网站有我的上下文。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-02-21 04:16:50

我找到问题了!

主要原因是,在某个时刻,我使用 root 安装了与expo相关的东西,然后expo在另一个目录中创建了一些属于用户的文件,而这个目录不在我正在工作的项目文件夹中。

所以,这是因为expo最初安装时的初始文件显然是使用sudo安装的,因为目录home/itspauloroberto/.expo中的文件和文件夹属于root (我使用la -ls命令进行了检查,并将root视为所有者)。而不是我的用户itspauloroberto,这是错误的主要来源。

要消除此错误,请执行以下步骤:

使用expo start导航到directory.

  • delete home/your_user/ .expo文件夹(由于文件夹所有者是根用户,因此需要sudo rm -rf .expo )

  • run the using sudo

如果发现与某个目录或文件相关的任何其他错误,请导航到错误消息上的文件/目录并将其删除。因为它也应该属于root用户。

票数 14
EN

Stack Overflow用户

发布于 2020-11-03 20:44:11

请先卸载expo。然后卸载npm并重新安装npm,然后expo

票数 0
EN

Stack Overflow用户

发布于 2021-10-06 22:29:08

我遇到这个问题是因为我一直在本地使用cmd,并在Ubuntu WSL2子系统中使用bash。

我必须从ubuntu终端安装一些软件包,所以除了要从WSL主目录中删除一个.expo文件之外,我还必须删除我的node_modules文件,并从我的windows-cmd控制台运行npm install

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54793345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档