簡體   English   中英

如何確保Mongo二進制文件在我的PATH中 - 在我的shell中'rc(〜/ .bashrc)在Mac上

[英]How do I ensure that Mongo binaries are in my PATH - in my shell' rc (~/.bashrc) on a Mac

我正在學習mongoDb。
我做了以下事情:我理解這一點。

mkdir -p mongodb
cp -R -n mongodb-osx-x86_64-2.6.7/ mongodb

這些下一個**指令對我來說並不是很清楚。

**確保二進制文件的位置在PATH變量中。 MongoDB二進制文件位於存檔的bin /目錄中。 要確保二進制文件位於PATH中,您可以修改PATH。

例如,您可以將以下行添加到shell的rc文件中(例如〜/ .bashrc):

export PATH=<mongodb-install-directory>/bin:$PATH

替換為提取的MongoDB存檔的路徑。

結束說明。

從我的Mac上的終端

$which bash
/bin/bash

bin目錄有一堆命令:bash,chmod,ln,pid,mkdir。

我找不到上面應該包含PATH代碼的目錄。

謝謝

Abhay的指示有效! 抱歉,以下內容很長,但我認為這是必要的,因為您上次這么清楚,我希望您能看到我的文件結構。
如果電子郵件更容易讓我知道,但這將比不幫助其他人更可能:)我真的想了解我的文件結構,所以如果你不介意進一步澄清。 再次感謝您的專業知識。

1.但為什么所有二進制文件(可執行文件)都單獨列在這個bin文件夾中? 它們是應該在此文件夾中“存在”的“唯一”文件嗎? 也許當我安裝bower grunt等時,我應該將這些(bower grunt等)安裝到不同的位置。 我試圖保持我的文件結構合乎邏輯和干凈。 這就是我所擁有的。

MacBookPro:usr regina$ cd ..
MacBookPro:/ regina$ ls
Applications        bin         net
CoreSyncInstall.log cores           private
Library         data            sbin
Network         dev         tmp
System          etc         usr
Users           home            var
Volumes         mach_kernel
MacBookPro:/ regina$ cd usr/local/bin
MacBookPro:bin regina$ ls
bower       grunt       mongod      mongorestore    npm
browserify  gulp        mongodump   mongos      statsd
bsondump    http-server mongoexport mongosniff  yo
cake        karma       mongofiles  mongostat
coffee      lessc       mongoimport mongotop
cordova     mkdirp      mongooplog  node
express     mongo       mongoperf   nodemon
MacBookPro:bin regina$ 

另外,我想查看我的.bashrc文件。 我一個都沒有。 我在osx 10.8.5上我想'查看'我的$ PATH變量。 我相信幾個月前我才發現它。 我正在使用nano來打開一堆文件因為我很好奇。 它被列為環境變量嗎?

MacBookPro:/ regina$ ls
Applications        bin         net
CoreSyncInstall.log cores           private
Library         data            sbin
Network         dev         tmp
System          etc         usr
Users           home            var
Volumes         mach_kernel
MacBookPro:/ regina$ cd home
MacBookPro:home regina$ ls -la
total 2
dr-xr-xr-x   2 root  wheel     1 Feb  3 08:29 .
drwxr-xr-x  33 root  wheel  1190 Jan 25 17:21 ..
MacBookPro:home regina$ 
  1. 我像這樣啟動mongo shell。 我沒有顯示終端中的所有線路輸出。
    看看我的文件結構。 我最初遵循了一個cp命令,但它沒有解釋'在哪里'復制存檔(桌面)mongodb-osx-x84 ....文件夾,所以看看我把它復制到哪里。 現在我將這些文件放在2個位置 - 是嗎? 我在更高級別的mongodb文件夾中有一個mongodb文件夾。 為什么? 我是如何管理這個的? 這似乎不合邏輯。 我縮進了4個空格,但下面不會格式化所以我只是添加了換行符。 抱歉。

    MacBookPro:家庭regina $ cd ..

    MacBookPro:/ regina $ ls應用程序bin net CoreSyncInstall.log核心私有庫數據sbin網絡dev tmp系統等usr用戶home var卷mach_kernel

    MacBookPro:/ regina $ cd數據

    MacBookPro:數據regina $ ls

    db mongodb

    MacBookPro:數據regina $ cd mongodb

    MacBookPro:mongodb regina $ ls

    mongodb MacBookPro:mongodb regina $ cd mongodb MacBookPro:mongodb regina $ ls GNU-AGPL-3.0 THIRD-PARTY-NOTICES README bin

    MacBookPro:mongodb regina $ cd bin

    MacBookPro:bin regina $ ls

    bsondump mongodump mongoimport mongorestore mongostat mongo mongoexport mongooplog mongos mongotop mongod mongofiles mongoperf mongosniff

  2. 當我嘗試在另一個論壇中輸入“mongo”時會發生這種情況。

    MacBookPro:bin regina $ mongo MongoDB shell版本:2.6.7連接到:測試2015-02-03T08:36:54.157-0500警告:無法連接到127.0.0.1:27017,原因:錯誤:61連接被拒絕

所以我鍵入了這個仍然失敗的。

MacBookPro:bin regina$ ./mongo
MongoDB shell version: 2.6.7
connecting to: test
2015-02-03T08:37:03.599-0500 warning: Failed to connect to    127.0.0.1:27017, reason: errno:61 Connection refused

然后我嘗試了連接 - 打開端口27017 - 並正在收聽。 為什么我需要守護進程命令?

MacBookPro:bin regina$ ./mongod
./mongod --help for help and startup options
2015-02-03T08:37:08.712-0500 [initandlisten] MongoDB starting :    pid=487 port=27017 dbpath=/data/db 64-bit host=macbookpro.home
more lines of code
2015-02-03T08:37:09.018-0500 [initandlisten] waiting for connections on port 27017

當您下載MongoDB for Mac時,您將獲得一個存檔文件。 您需要做的第一件事是解壓縮存檔。 為此,您只需雙擊存檔即可。 未壓縮的文件夾將在bin文件夾中包含二進制文件,如mongodb-osx-x86_64-2.6.7/bin 您接下來需要做的是確保可以訪問這些二進制文件。 所以,為此你可以做兩件事中的任何一件 -

  1. 將二進制文件復制到/usr/local/bin文件夾。 由於/usr/local/bin始終位於PATH中,因此您不必將其添加到PATH中。

    這很簡單。 運行cp mongodb-osx-x86_64-2.6.7/bin/* /usr/local/bin/ 而已。 你們都完成了。

  2. 將二進制文件夾的路徑添加到$PATH變量。

    打開位於主文件夾中的.bashrc文件,並在最后export PATH=$HOME/mongodb/bin:$PATH行。 我假設mongodb在下載中未壓縮。

如果使用第二種方法,請確保不會意外刪除PATH中添加的mongodb文件夾。

完成此操作后,關閉終端,打開一個新的終端窗口並運行:

mongo --version

如果你得到版本的mongodb信息,那么很好。

如果仍然command mongo not found類的東西,請確保按照上述說明操作。 還要確保您沒有使用任何其他shell,例如zsh。 如果是,則必須在相應的shell文件中添加export語句。 對於zsh,文件名是.zshrc


好的! 因此,您已經用更多問題更新了最初的問題。 所以這里逐點解釋:

  1. 您在/usr/local/bin文件夾中看到的文件是二進制文件。 用簡單的語言,它們是可執行程序。 這些可執行二進制文件存在於那里,但您可以從命令行中的任何位置運行它們。

  2. .bashrc文件位於用戶的主目錄中。 在Mac上它是/Users/username 在你的情況下,它應該是/Users/regina因為你的名字是里賈納。

  3. mongo是客戶端應用程序。 它用於與mongodb數據庫交互。 並且, mongod是存儲數據的數據庫守護程序。 首先你必須運行mongod ,然后只有你可以使用客戶端mongo連接到它並開始查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM