97

グローバルノードモジュールのインストールに問題があり、オンラインで見つけたものはすべて、解決策は-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
4

9 に答える 9

85

次のように(例: in ) に追加$(npm get prefix)/binします。PATH.bashrc

echo "export PATH=$PATH:$(npm get prefix)/bin" >> ~/.bashrc

詳細については、次を参照してくださいnpm help npm

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

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

于 2013-03-25T19:59:09.387 に答える
14

私の npm もグローバル パッケージを見つけることができませんでした。私はブラッド・パークスが提案したことをしました:

npm config set prefix /usr/local

次に、EACCES パーミッション エラー (DON'T USE sudo npm install -g <package>) が発生し、公式の npm ドキュメントで修正しました: https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

  1. コマンド ラインで、ホーム ディレクトリにグローバル インストール用のディレクトリを作成します。
 mkdir ~/.npm-global
  1. 新しいディレクトリ パスを使用するように npm を構成します。
 npm config set prefix '~/.npm-global'
  1. お好みのテキスト エディターで ~/.profile ファイルを開くか作成し、次の行を追加します。
 export PATH=~/.npm-global/bin:$PATH
  1. コマンド ラインで、システム変数を更新します。
 source ~/.profile
  1. 次に、パッケージをグローバルにインストールしてテストします。例えば:
npm install -g awsmobile-cli
awsmobile configure

于 2019-02-09T16:30:25.770 に答える
10

私の場合、 NODE_PATH 環境変数は空でした。空かどうかを確認してください-

echo $NODE_PATH

NODE_PATH が空の場合。次に ~/.bash_profile を変更し、NODE_PATH を追加します

nano ~/.bash_profile
export NODE_PATH=`npm root -g`
source ~/.bash_profile

npmモジュールを再度インストールし、パスにインストールされているかどうかを確認しますnpm root -g

于 2019-03-05T06:09:32.350 に答える