【问题标题】:Expo-cli installed but when running any expo command I get "zsh: command not found: expo"Expo-cli 已安装,但在运行任何 expo 命令时,我得到“zsh: command not found: expo”
【发布时间】:2020-11-08 06:43:44
【问题描述】:

我已经在全球范围内安装了 expo-cli,但是当我尝试从任何地方运行任何 expo 代码(如 expo start)时,我得到:

zsh: command not found: expo

echo $PATH 返回:

/Users/amitg/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/amitg/.npm-global/bin

我正在使用 macOS,catalina。

【问题讨论】:

  • 你是不是在安装命令前加了sudo,即:sudo npm install -g expo-cli
  • 是的,我第二次安装它时,我是用 sudo 完成的。

标签: react-native expo


【解决方案1】:

正确的做法是:

$ npm init my-app

$ cd 我的应用程序

$ npm 开始

i在模拟器上运行或使用相机应用扫描二维码后。确保您已在设备上安装了 expo go

【讨论】:

    【解决方案2】:

    我从 bash 切换到 zsh 时遇到了同样的问题,我通过检查我的 .bash_profile(位于 ~/.bash_profile)解决了这个问题,我发现了这个导出:

     export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
    

    鉴于在 bash 中一切正常,我决定复制导出并替换 .zshrc 文件中的默认导出(位于 ~./zshrc)

    您的 ~/.zshrc 文件应如下所示:

    # If you come from bash you might have to change your $PATH.
    #export PATH=/usr/local/bin/npm:$PATH
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
    

    然后按 cmd + Q 重启终端即可,希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      如今在 macOS 中运行 expo 的正确命令是 npx expo

      例如

      npx expo init my_app

      如果没有安装 expo-cli,它将为您提供安装说明

      【讨论】:

      • 这会导致This command requires Expo CLI.Do you want to install it globally [y/n]的无限循环
      • 您输入y,它将安装expo(如果尚未安装)。这就是我的回答中粗体中所说的内容。
      • 是的,我知道。就像我说的那样,它一直在循环。安装,然后提示安装。
      • 可能尝试全局删除包npm uninstall -g expo-cli
      • 这应该是正确答案
      【解决方案4】:

      答案很简单。

      只需将 npm 二进制文件添加到您的路径

      1. echo $PATH
      2. export PATH=$PATH:~/.npm-global/bin
      3. source ~/.profilesource ~/.bash_profile

      就是这样,它现在可以工作了,去看看吧 expo init myproject

      【讨论】:

      • 在前两个步骤之后,它对我有用。谢谢。
      • 我有一台 Mac,这对我也有用。谢谢你!
      【解决方案5】:

      对于 MACOS

      所以我建议你的echo $PATH 命令应该是/usr/local/bin。可能您已经通过下载的 .pkg 在网站上安装了 Node。我曾多次尝试删除并重新安装,但在 MacOS Catalina 上不起作用。我强烈建议通过 NVM 安装。好吧,我一开始就知道了,听起来您不希望安装任何第三方依赖项超过 NodeJS 的官方网站,好吧我理解您的担忧,但我已经连续尝试了 2 个小时,但没有成功。 NVM 并没有那么糟糕,它非常有用且方便,您不必重新发明轮子。我将向您展示非常简单的方法,不要搞砸。

      所以我建议你先删除并卸载它:

      1. brew uninstall node
      2. which node//if this not found or return empty it means you have removed it
      3. sudo rm -rf /usr/local/bin/node
      4. sudo rm -rf /usr/local/lib/node_modules/npm/
      5. brew doctor
      6. brew cleanup --prune-prefix

      然后:

      1. brew uninstall --ignore-dependencies node
      2. brew uninstall --force node

      确保您已停用任何虚拟环境 ***:

      1. brew update
      2. brew install nvm

      然后为NVM创建文件夹(无需关心你现在在哪个目录)

      1. mkdir ~/.nvm

      现在将这些行添加到 ~/.bash_profile (或 ~/.zshrc 用于 macOS Catalina 或更高版本):(标记我的话,将以下行添加到 bash_profile 或 zsh,不运行下面的这两个命令,添加它们!!! )

      1. export NVM_DIR=~/.nvm
      2. source $(brew --prefix nvm)/nvm.sh

      将 NVM 目录路径添加到您的 Shell 配置文件(需要时)

      1. nano .zshrc
      2. export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
      3. 在您的 Mac 中输入 CTRL + x
      4. 在您的 Mac 中输入 Shift + y
      5. 点击Enter or Return

      要查看可安装的 Node 版本,请运行:

      1. nvm ls-remote 您将看到可用的节点版本列表。我建议安装任何具有最新 LTS(绿色文本)的节点版本

      对我来说,我只需要在我为你回答期间发布的 Node 版本 12.8.4 LTS 稳定版的最新版本,所以我跑了

      1. nvm install 12.18.4

      验证您的节点版本:

      1. node --version

      最后安装 expo cli

      1. npm install --global expo-cli

      检查 expo 安装:

      1. expo --version

      我是一名学生,我尝试了很多方法,这对我有用,我希望我能成为帮助你的一部分。如果某事仍然计划外,请发表评论。

      【讨论】:

      • 在这种情况下你不是学生:)。感谢您的全面指导,这对我帮助很大!
      • 不客气。我只是试图做出一个不会浪费人们时间的答案。
      • 这是唯一有效的解决方案。非常感谢!
      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      • 2021-02-23
      • 2019-03-03
      • 2019-05-16
      • 1970-01-01
      相关资源
      最近更新 更多