【问题标题】:MongoDB installed via Homebrew not working通过 Homebrew 安装的 MongoDB 无法正常工作
【发布时间】:2012-07-27 07:41:32
【问题描述】:

我通过 Homebrew 安装了 MongoDB(在 http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/ 之后),但它不工作。

在 shell 提示符下输入 mongod 给我:

-bash: mongod: command not found

不确定是否需要为 Homebrew 添加一些内容到我的 PATH 环境变量中?

我可以看到 Mongo 安装在 /usr/local/Cellar/mongodb 下 - 但我假设我不需要将通过自制软件安装的所有内容添加到路径中?另外,假设我可以从任何目录运行 mongod 还是我实际上打算在安装目录中?

当我运行brew doctor 时,我得到:

Warning: You have unlinked kegs in your Cellar 

后面是 3 个项目的列表,其中包括 MongoDB——但我不确定我应该如何链接它们?

【问题讨论】:

  • 更多信息:如果我从 /usr/local/Cellar 中的安装目录执行 mongo,我可以运行它,但我认为我应该能够从任何地方运行它。感觉我在 Homebrew 中遗漏了一些明显的东西。

标签: macos mongodb homebrew


【解决方案1】:

完美运行

  1. brew update
  2. brew tap mongodb/brew
  3. brew install mongodb-community@4.2

最新版本请查看https://docs.mongodb.com/manual/release-notes/

【讨论】:

    【解决方案2】:

    您收到此错误是因为您的“brew”安装未能在 /usr/local/bin 中创建正确的符号链接。结果,shell 在 $PATH 中找不到 mongo 可执行文件。您可以使用以下步骤解决此问题:

    • 检查 /usr/local/bin 的权限并确保您拥有该目录并对其具有写入权限

      $ ls -ld /usr/local/bin

    • 一旦你解决了这个问题,运行'brew link'来修复符号链接

      $ brew link mongodb

    【讨论】:

    • 感谢您的提示。我 chowned 文件夹 /usr/local/bin。如果您收到这样的提示:Error: Could not symlink file: /usr/local/Cellar/mongodb/2.2.2-x86_64/bin/mongotop 您应该先删除符号链接,然后重新链接。
    【解决方案3】:

    如果您使用的是mongodb-community@4.0。您可以尝试使用brew reinstall mongodb-community@4.0 重新安装。

    然后我得到以下提示:

    ==> Caveats
    mongodb-community@4.0 is keg-only, which means it was not symlinked into /usr/local,
    because this is an alternate version of another formula.
    
    If you need to have mongodb-community@4.0 first in your PATH run:
      echo 'export PATH="/usr/local/opt/mongodb-community@4.0/bin:$PATH"' >> ~/.bash_profile
    

    所以你可以复制echo 命令并重启你的shell!

    【讨论】:

    • 你也应该source你的 ~/.bash_profile 或 ~/.zshrc 才能生效。
    【解决方案4】:

    从在终端中运行这些命令的不同频道复制更新了安装/配置问题,如 OP 中所述

    brew tap mongodb/brew
    brew install mongodb-community
    brew services start mongodb-community
    

    【讨论】:

      【解决方案5】:

      它在目录中工作,因为 sh 搜索 ENV 路径,然后在 cwd 中搜索名为 mongod 的程序。我一直在环顾四周,似乎 MongoDB 的默认安装(我不是 Mac 用户)没有安装 rc 或 init 脚本,以便 sh 了解它的运行行为,如下所述:

      http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/#using-mongodb-from-homebrew-and-macports

      使用 Homebrew 和 MacPorts 安装的软件包不包含任何控件 脚本或与系统进程管理器的交互。

      如果您已正确配置 Homebrew 和 MacPorts,包括 设置您的 PATH,MongoDB 应用程序和实用程序将是 可从系统外壳访问。在 a 中启动 mongod 进程 终端(用于测试或开发)或使用流程管理 工具。

      所以你必须实际定义(如你所说)MongoDBs路径,这里是一个例子:https://snipt.net/sido/installing-mongodb-on-os-x/

      编辑:这个例子不是我的。我只是从它的用户那里偷的:https://snipt.net/sido/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-27
        • 1970-01-01
        • 1970-01-01
        • 2019-10-19
        • 1970-01-01
        • 2014-10-10
        • 1970-01-01
        相关资源
        最近更新 更多