npm安装后npm启动失败

时间:2018-09-23 06:30:53

标签: node.js npm expo

我使用(我的操作系统:Windows 10)创建一个示例项目;

expo init test
cd test
npm start

一切正常,我可以在手机上看到我的应用程序,并且package.json看起来不错;

{
  "name": "empty-project-template",
  "main": "node_modules/expo/AppEntry.js",
  "private": true,
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "eject": "expo eject"
  },
  "dependencies": {
    "expo": "^30.0.1",
    "react": "16.3.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
  }
}

但是,如果我要安装“ uuid”之类的软件包,

npm install uuid

安装软件包没有问题,然后我写了;

   npm start

This command requires Expo CLI.
Do you want to install it globally [Y/n]?

我按'Y',但是会出现错误;

This command requires Expo CLI.
Do you want to install it globally [Y/n]? y
Installing the package 'expo-cli'...
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: spawn npm ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:362:16)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! empty-project-template@ start: `expo start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the empty-project-template@ start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

软件包名称并不重要,如果我安装了任何软件包并运行npm start,则我的项目已关闭并且我无法使用我的项目,我使用yarn测试了此步骤,它与{{1 }},我的错误是什么?

11 个答案:

答案 0 :(得分:5)

对于那些为此问题苦苦挣扎的人,

  1. 导航到node_modules>代码库的.bin
  2. 在该目录中找到expo和expo.cmd
  3. 重命名为任何内容。

你很好。

答案 1 :(得分:3)

对我来说,直接运行expo start即可。似乎npm尚不知道expo-cli

的存在。

答案 2 :(得分:2)

解决方案仅使用expo-cli start,而不使用npm startyarn start。因此,它现在可以正常工作了。

因此,如果您想使用expo创建没有反应的本机应用程序,则步骤如下:

  • expo-cli init [project-name]
  • cd [project-name]
  • 根据需要安装任何软件包=> npm install packageyarn add package
  • expo-cli start(不要使用npm startyarn start
  • 完成

答案 3 :(得分:1)

这是一个已知的错误。请参阅issue #51 of expo-cli进行后续操作。

答案 4 :(得分:0)

似乎expo-cli没有正确安装。 尝试再次安装:

sub.domain.com/sites/app

您可能需要以管理员身份启动命令外壳程序才能运行命令。

您还需要在计算机上安装Node.js(版本6或更高版本)。

答案 5 :(得分:0)

我已将版本降级为“ expo”:“ ^ 30.0.0”。它解决了同样的问题。

答案 6 :(得分:0)

尝试通过以下方式将expo-cli添加到开发人员依赖项:

yarn add expo-cli --dev

答案 7 :(得分:0)

我不知道您使用的是哪个版本的Node.js。 但是您可以使用此版本的Node.js 12.10.0。这样可以解决您的问题。

答案 8 :(得分:0)

我遇到了同样的问题。就我而言,我已经在运行带有Expo的另一个应用程序,并在另一个窗口中使用Expo创建了一个新应用程序(这应该没问题)。尽管我的新应用程序收到了此错误,但是当我使用expo start启动现有应用程序时,它可以毫无问题地启动该应用程序。因此,我的计算机上安装的expo客户端或节点版本没有任何问题。节点模块安装可能有问题。

因此,我刚刚退出运行App CLI并重新创建了一个新App。遵循Setting up the development environment

中提供的步骤

现在可以正常工作了。

答案 9 :(得分:0)

只需补充一点,我有一个类似的问题。我进行了全新安装:

  1. 打开cmd并执行cd C:\
  2. 类型:npm -g uninstall expo-cli --save
  3. 允许它完成
  4. 转到<windwos drive>\Users\<yourUser>\并删除.expo文件夹
  5. 返回cmd并输入:npm install -g expo-cli --save

对我有用。它也可能对您有用。

https://www.thetopsites.net/article/52476154.shtml

答案 10 :(得分:0)

如果您使用的是 Linux,请尝试使用以下命令全局安装 expo-cli:

sudo npm install -g expo-cli