6

我知道类似的问题被问死了,但我找不到我的具体情况。我只是想在全局范围内安装 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

4

2 回答 2

5

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

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

于 2013-11-07T16:51:30.153 回答
0

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

于 2017-12-04T21:35:40.753 回答