【问题标题】:Installing MongoDB in Brew/rbenv for MEAN.io在 Brew/rbenv 中为 MEAN.io 安装 MongoDB
【发布时间】:2014-10-07 14:49:59
【问题描述】:

在我的 Mac 上安装 Ruby 时,我关注了 this setup。据我了解,我通过 Homebrew 安装了 Ruby,这在我的机器上似乎运行良好,而且我不需要在每个命令前加上 sudo

我现在正在尝试安装 MongoDB,并已使用 brew install mongodb 安装它。我认为它现在已安装,因为当我运行 mongo --version 时它会返回:

MongoDB shell version: 2.6.4

现在我正在尝试启动一个普通的应用程序,但是当我在根目录中运行 grunt 时,它会停止并抛出此错误:

Error: failed to connect to [localhost:27017]
**Could not connect to MongoDB. Please ensure mongod is running and restart MEAN app.**

我想知道这是否与我的 $PATH 有关,这让我感到困惑......?

当我运行which ruby 时,会出现这条路径:

/Users/xxx/.rbenv/shims/ruby

当我运行which mongo 时,会出现这条路径:

/usr/local/bin/mongo

这可能是为什么它说无法连接到 MongoDB,我是否正确安装了它?

我只是希望能够启动那个 MEAN 应用程序,但 MongoDBV 安装似乎有问题。

这是我运行mongod时遇到的错误:

mongod --help for help and startup options
2014-10-07T16:14:48.885+0100 [initandlisten] MongoDB starting : pid=37641 port=27017 dbpath=/data/db 64-bit host=Rafs-Mac-Pro.local
2014-10-07T16:14:48.885+0100 [initandlisten]
2014-10-07T16:14:48.885+0100 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
2014-10-07T16:14:48.885+0100 [initandlisten] db version v2.6.4
2014-10-07T16:14:48.885+0100 [initandlisten] git version: nogitversion
2014-10-07T16:14:48.885+0100 [initandlisten] build info: Darwin minimavericks.local 13.3.0 Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
2014-10-07T16:14:48.885+0100 [initandlisten] allocator: tcmalloc
2014-10-07T16:14:48.885+0100 [initandlisten] options: {}
2014-10-07T16:14:48.887+0100 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2014-10-07T16:14:48.887+0100 [initandlisten] dbexit:
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: going to close listening sockets...
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: going to flush diaglog...
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: going to close sockets...
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: waiting for fs preallocator...
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: lock for final commit...
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: final commit...
2014-10-07T16:14:48.887+0100 [initandlisten] shutdown: closing all files...
2014-10-07T16:14:48.888+0100 [initandlisten] closeAllFiles() finished
2014-10-07T16:14:48.888+0100 [initandlisten] shutdown: removing fs lock...
2014-10-07T16:14:48.888+0100 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
2014-10-07T16:14:48.888+0100 [initandlisten] dbexit: really exiting now

【问题讨论】:

    标签: ruby mongodb homebrew mean-stack


    【解决方案1】:

    我没有看到您将 mongo 设置为自动运行的任何地方。这次要启动它,打开一个新终端并运行mongod

    您可以通过运行以下命令将 mongo 配置为在启动时运行:

    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
    

    注意:您需要重新启动以上内容才能生效。

    正确,要修复 Unable to create/open lock file: 错误,您需要执行以下操作:

    sudo chown -R <your-username> /data/db
    

    【讨论】:

    • 用我运行mongod时遇到的错误更新了问题。
    • 我现在收到[initandlisten] waiting for connections on port 27017。这是个好消息吗?
    • 太棒了!在我的平均目录中运行grunt之前,我必须运行mongod,你是说配置mongo在启动时运行意味着我不必每次都运行mongod
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    相关资源
    最近更新 更多