node.js - 設定 - npm グローバル パス




グローバルノードモジュールが正しくインストールされていません。 コマンドが見つかりません (3)

/usr/local/share/npm/binPATH追加します(例: .bashrc )。

詳細については、 npm help npm

グローバルモード:npmはインストールプレフィックス/ lib / node_modulesにパッケージをインストールし、ビンはプレフィックス/ binにインストールされます。

インストールプレフィックスは、 npm get prefixまたはnpm config list | grep prefix見つけることができますnpm config list | grep prefix npm config list | grep prefix

グローバルノードモジュールをインストールする際に問題が発生しています。オンラインで見つけたものはすべて、-gを追加するだけです。 それは問題ではありません。 私はそれがリンクの問題または間違ったディレクトリの問題だと思う。

ここに私がしていることがあります:

$ npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.3
...downloads correctly

$ express myapp
bash: express: command not found

しかし、私がそれを表現するために直接リンクの場所を実行すると:

   $ /usr/local/share/npm/bin/express myapp

   create : myapp
   create : myapp/package.json
   create : myapp/app.js
... Builds app correctly

モジュールの場所:

$ which node
/usr/local/bin/node
$ node -pe process.execPath
/usr/local/Cellar/node/0.8.20/bin/node
$ npm link express
/Users/bentonrr/Development/Personal/node_modules/express -> /usr/local/share/npm/lib/node_modules/express

私の.bash_profileに私は持っています:

export PATH=/usr/local/bin:$PATH
export NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node

正しいフォルダにダウンロードするためにノード環境を変更する必要がありますか? 何かが正しくリンクされていませんか? 迷っています..

ありがとう!

その他の仕様:

$ node --version
v0.8.20
$ npm --version
1.2.11
$ brew --version
0.9.4
OSX Version 10.8.2

これは、ノードのインストールプレフィックスが期待どおりでないことを意味します。

次のように設定することができます:

npm config set prefix /usr/local

npm install -gもう一度実行npm install -gと、うまくいくはずです。 Macで私のために働いた、このソリューションは、このサイトから来ています:

http://webbb.be/blog/command-not-found-node-npm/

編集:私はちょうど設定している新しいMacでこれをまた遭遇したことに注意してください、また、 ここでで詳述されたプロセスをしなければなりませんでした。


私はsudo経由で、npmのものをインストールしません! 私は自分の理由がありますが、これはユーザ開発の世界であり、誰もがrootアクセス権を持っているわけではなく、root / sudoのようなものをインストールするだけで、と。 結局のところ、すべての開発者は、特権を持つsudoユーザーだけでなく、これらの指示に従うことができます。

この特定のシステムは、SSH経由でアクセスされるRHEL7です。

多くの場合、さまざまなバージョンのノードが必要なので、NVM https://github.com/creationix/nvmを使用しhttps://github.com/creationix/nvm

つまり、NVM、NPM、およびルートを使用しないノード・パスを使用して、 -gグローバル・インストールの実際の例を示すことができます。

.npm-packages接頭辞を.npm-packages設定していない場合は、それを設定します。 (ハイフンで、アンダースコアではないことに注意してください)

nvm config ls
prefix = "/home/<yourusername>/.npm-packages"

それでは、以下の情報を参考にして、あなたが〜と.bash_profileまたは.bashrcを調整してください。

#PATH EXPORTS
NODE_MODULES=$HOME/.npm                                          
NPM_PACKAGES=$HOME/.npm-packages/bin                           
export PATH=$PATH:$HOME/bin:$NODE_MODULES:$NPM_PACKAGES         

#NVM ENABLE                                                 
export NVM_DIR="$HOME/.nvm"                                   
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 

それはすべての経路をかなりカバーしています。 たとえば、 npm install -g gulp ~/.npm-packages/bin npm install -g gulpと、 ~/.npm-packages/binにシンボリックリンクされ~/.npm-packages/bin (ハイフンで、アンダースコアではありません)。 ( gulp-cli 、またはgulp-cl gulp-cli必要としない)

他のすべてのノード・パスのエクスポートをかなり置き換える/コメントアウトすることができます。 このパス情報は、他のパス情報の下に安全に置くことができ、その情報を上書きすることはありません。





npm