【问题标题】:npm install -g mongodb not installing mongodb globally on OSX 10.8.4?npm install -g mongodb 没有在 OSX 10.8.4 上全局安装 mongodb?
【发布时间】:2013-11-19 08:36:53
【问题描述】:

我知道有人问过类似的问题,但我找不到我的具体情况。我只是想全局安装 mongodb,这样我就可以通过键入 mongod 而不是在特定的 bin 中并键入 ./mongod 来从任何目录运行它。尝试时出现此错误:

Squirrels-MacBook-Air:Code Squirrel$ npm install -g mongodb 
npm http GET https://registry.npmjs.org/mongodb
npm http 304 https://registry.npmjs.org/mongodb
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/mongodb'
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/mongodb']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/mongodb',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/mongodb',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.4.1
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "mongodb"
npm ERR! cwd /Users/Squirrel/Documents/Code
npm ERR! node -v v0.10.21
npm ERR! npm -v 1.3.11
npm ERR! path /usr/local/lib/node_modules/mongodb
npm ERR! fstream_path /usr/local/lib/node_modules/mongodb
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/mongodb'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Squirrel/Documents/Code/npm-debug.log
npm ERR! not ok code 0

所以我做了sudo npm install mongodb -g

Squirrels-MacBook-Air:~ Squirrel$ sudo npm install mongodb -g 
Password:
npm http GET https://registry.npmjs.org/mongodb
npm http 304 https://registry.npmjs.org/mongodb
npm http GET https://registry.npmjs.org/bson/0.2.2
npm http GET https://registry.npmjs.org/kerberos/0.0.3
npm http 304 https://registry.npmjs.org/bson/0.2.2
npm http 304 https://registry.npmjs.org/kerberos/0.0.3

> kerberos@0.0.3 install /usr/local/lib/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)


> bson@0.2.2 install /usr/local/lib/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

mongodb@1.3.19 /usr/local/lib/node_modules/mongodb
├── kerberos@0.0.3
└── bson@0.2.2

但它仍然不是全球性的。我也尝试过export PATH=/path/to/mongodb/bin:$PATH,但只有在每次会话中将其输入终端时才有效。我以前有过它,因此我可以从任何目录中简单地键入mongomongod,但是我的新计算机出现了问题。谢谢你。

我删除了 usr/local/lib/node_modules 文件夹中的 mongodb 目录,然后运行了

$ sudo find / -name mongod 
find: /dev/fd/3: Not a directory
find: /dev/fd/4: Not a directory
/Users/Squirrel/.npm/mongod
/Users/Squirrel/.Trash/mongodb-osx-x86_64-2.4.8/bin/mongod
/Users/Squirrel/.Trash/mongodb-osx-x86_64-2.4.8 6.43.25 PM/bin/mongod
/Users/Squirrel/.Trash/mongodb-osx-x86_64-2.4.8 6.57.12 PM/bin/mongod
/Users/Squirrel/.Trash/mongodb-osx-x86_64-2.4.8 7.18.50 PM/bin/mongod
/Users/Squirrel/Documents/Code/mongodb-osx-x86_64-2.4.8/bin/mongod

我应该rm -r /Users/Squirrel/.npm/mongod 吗?

我也尝试了自制软件,但没有成功:

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" brew install mongodb

【问题讨论】:

    标签: macos mongodb terminal npm


    【解决方案1】:

    您正在安装 MongoDB 驱动程序,而不是 MongoDB,因此仅使用驱动程序,您将无法通过命令行访问 mongodmongo。尝试遵循 MongoDB OS X 安装说明:

    http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

    【讨论】:

    • 我以前试过。我需要两者都做吗?安装 mongodb,在我的根目录下创建一个 data/db 目录,运行 chmod 777,然后 npm install -g mongod?
    • 如果从命令行输入 mongod 不起作用,则一定是您的 MongoDB 安装有问题,而不是驱动程序有问题。我会按顺序处理这些问题。尝试首先专注于获得正确的 MongoDB 安装,然后找出节点驱动程序。如果您输入mongodb --version,它会列出一个版本吗?您可能只想发布一个新问题,其中包含更多关于您的 MongoDB 安装的具体信息。
    • 它没有。当我在 bin 文件夹中并输入 ./mongod./mongo 时,我可以运行一个实例,但如果我运行 mongo app.js 或只是 mongo 它会显示 mongo: command not found,非常感谢您的帮助。
    • 这能解决问题吗? stackoverflow.com/questions/10203589/…
    • 不,它没有。我在上面做了一些编辑。有没有一种干净的方法可以摆脱所有 mongo 以便我可以再试一次?
    【解决方案2】:

    运行 ps -xa | grep mongod 并且您没有看到 --dbpath 明确告诉 mongod 查看该参数的 db 位置,并且您的 mongodb.conf 中没有 dbpath,那么默认位置将是:/data/db / 你应该看看那里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多