【问题标题】:npm start fails after npm installnpm install 后 npm start 失败
【发布时间】:2018-09-23 06:30:53
【问题描述】:

我用(我的操作系统: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测试了这一步,它和npm一样,我的错了?

【问题讨论】:

    标签: node.js npm expo


    【解决方案1】:

    解决方案就是使用expo-cli start,不要使用npm startyarn start。所以它现在可以正常工作。

    所以如果你想创建一个没有问题的带有 expo 的 react-native 应用程序,步骤是:

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

    【讨论】:

      【解决方案2】:

      对于那些在这个问题上苦苦挣扎的人,

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

      你可以走了。

      【讨论】:

        【解决方案3】:

        对我来说,直接运行expo start 就可以了。好像npm还不知道expo-cli的存在

        【讨论】:

          【解决方案4】:

          这是一个已知的错误。后续请参考issue #51 of expo-cli

          【讨论】:

            【解决方案5】:

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

            npm install -g expo-cli
            

            您可能需要以管理员身份启动命令 shell 才能运行该命令。

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

            【讨论】:

            • 我做了很多次,而且我的版本也更新了,但是如果我安装一个新包它又丢失了,唯一的解决方案是expo init new-project,但是在任何使用npm install安装包后它都会崩溃跨度>
            【解决方案6】:

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

            【讨论】:

            • 我做了但没用,我在 linux (opensuse thumbleweed) 上尝试了同样的问题,现在我可以在最新版本的 expoexpo-cli 上使用 linux 没有问题,但我不一样我的 win 10 机器上的东西,现在我将使用 linux 直到找到 win 10 的方法。
            【解决方案7】:

            尝试将expo-cli 添加到开发依赖项:

            yarn add expo-cli --dev
            

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

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

                所以,我刚刚退出运行 App CLI 并重新创建了一个新应用。按照Setting up the development environment中提供的步骤进行操作

                现在完美运行。

                【讨论】:

                  【解决方案10】:

                  只是想补充一点,我遇到了类似的问题。我进行了全新安装:

                  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

                  【讨论】:

                    【解决方案11】:

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

                    sudo npm install -g expo-cli
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 2017-06-11
                      • 2021-05-15
                      • 2016-01-22
                      • 2019-02-23
                      • 2017-06-17
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多