web-dev-qa-db-ja.com

Mongoバイナリが私のPATH-Macの私のシェルのrc(〜/ .bashrc)にあることを確認する方法

私はmongoDbを学んでいます。
私は次のことを行いました:私はこれを理解しました。

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

これらの次の**指示は私には明確ではありません。

**バイナリの場所がPATH変数にあることを確認します。 MongoDBバイナリは、アーカイブのbin /ディレクトリにあります。バイナリが確実にPATHに含まれるようにするために、PATHを変更できます。

たとえば、シェルのrcファイルに次の行を追加できます(例:〜/ .bashrc):

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

抽出したMongoDBアーカイブへのパスに置き換えます。

手順の終わり。

Macのターミナルから

$which bash
/bin/bash

Binディレクトリには、bash、chmod、ln、pid、mkdirなどの一連のコマンドがあります。

上記のPATHコードを含める必要があるディレクトリが見つかりません。

ありがとう

アバイの指示はうまくいった!次は長くて申し訳ありませんが、前回は非常に明確だったので必要だと思います。ファイル構造を確認してください。
メールの方が簡単な場合はお知らせくださいが、他の人の助けにはならない可能性が高いです:)私は本当に私のファイル構造を理解したいので、もう少し明確にしてもかまいません。専門知識をお寄せいただきありがとうございます。

1.しかし、なぜすべてのバイナリ(実行可能ファイル)がこのbinフォルダに個別にリストされているのですか?これらは、このフォルダーに「存在」する必要がある「唯一の」ファイルですか?たぶん私がバウアーグラントなどをインストールしていたとき、それら(バウナーグラントなど)を別の場所にインストールする必要があります。ファイル構造を論理的でクリーンな状態に保つようにしています。これが私が持っているものです。

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$ 

2.また、.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. このようにモンゴシェルを起動します。端末に出力されるすべての行を表示していません。
    ファイル構造を確認してください。私は最初にcpコマンドを実行しましたが、アーカイブされた(デスクトップ)mongodb-osx-x84 ....フォルダーをコピーする「場所」を説明していなかったので、コピー先を確認してください。現在、これらのファイルは2つの場所にあります-はい?そして、私はより高いレベルのmongodbフォルダの中にmongodbフォルダを持っています。どうして ?これをどのように管理しましたか?それは非論理的なようです。 4つのスペースがインデントされていますが、以下はフォーマットされないため、改行を追加しました。ごめんなさい。

    MacBookPro:home regina $ cd ..

    MacBookPro:/ regina $ lsアプリケーションbin net CoreSyncInstall.log cores private Library data sbin Network dev tmp System etc usr Users home var Volumes mach_kernel

    MacBookPro:/ regina $ CDデータ

    MacBookPro:data regina $ ls

    db mongodb

    MacBookPro:data 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接続先:test 2015-02-03T08:36:54.157-0500警告:127.0.0.1:27017への接続に失敗、理由:errno: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
18
shareyourpeace

MongoDB for Macをダウンロードすると、アーカイブファイルが作成されます。最初に必要なことは、アーカイブを解凍することです。これを行うには、アーカイブをダブルクリックします。圧縮されていないフォルダーは、mongodb-osx-x86_64-2.6.7/binのように、binフォルダーにバイナリーがあります。次に行う必要があるのは、これらのバイナリにアクセスできるようにすることです。だから、これのためにあなたは2つのことのどちらかをすることができます-

  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が圧縮されていないと想定しています。

2番目の方法を使用する場合は、PATHに追加されているmongodbフォルダーを誤って削除しないようにしてください。

これを完了したら、ターミナルを閉じ、新しいターミナルウィンドウを開いて、次のコマンドを実行します。

mongo --version

バージョンでmongodb情報を取得できれば、それで問題ありません。

それでもcommand mongo not foundのようなものが表示される場合は、上記の指示に従っていることを確認してください。また、zshなどの他のシェルを使用していないことを確認してください。もしそうなら、あなたはそれぞれのシェルファイルにexportステートメントを追加する必要があります。 zshの場合、ファイル名は.zshrcです。


はい!したがって、最初の質問をいくつかの質問で更新しました。だからここにポイントごとに説明を行きます:

  1. /usr/local/binフォルダーにあるファイルはバイナリーです。単純な言語では、これらは実行可能プログラムです。これらの実行可能バイナリはそこにありますが、コマンドラインのどこからでも実行できます。

  2. .bashrcファイルは、ユーザーのホームディレクトリにあります。 Macでは/Users/usernameです。あなたの名前はレジーナなので、あなたの場合は/Users/reginaになります。

  3. mongoはクライアントアプリケーションです。 mongodbデータベースとのやり取りに使用されます。また、mongodは、データを格納するデータベースデーモンです。したがって、最初にmongodを実行する必要があります。次に、クライアントmongoを使用してそれに接続し、クエリを開始する必要があります。

35
Abhay PS