1. ホーム
  2. node.js

[解決済み】npmを使用してモジュールをグローバルにインストールするにはどうすればよいですか?

2022-04-10 16:44:39

質問

最近OSXにNode.jsとnpmモジュールをインストールしたのですが、設定に問題があるようです。

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

解決方法は?

npm モジュールをグローバルにインストールしたい場合は、必ず新しい -g のフラグを立てるなどしてください。

npm install forever -g

1.0rc 以降の npm モジュールのインストールに関する一般的な推奨事項 (以下から引用) blog.nodejs.org ):

  • プログラムで使用したいものをインストールする場合 require('whatever') とすると インストールする ローカル のルートにある プロジェクトで使用されます。
  • シェルで使用するものをインストールする場合、そのシェルは コマンドラインか何かで インストール グローバルに そのバイナリが 環境変数PATHの末尾に 変数を使用します。

私はつい最近、この推奨事項を使用しましたが、かなりスムーズにいきました。私は、foreverをグローバルに(コマンドラインツールなので)インストールし、すべてのアプリケーションモジュールをローカルにインストールしました。

しかし、いくつかのモジュール(例えば express や mongodb)をグローバルに使用したい場合は、次のアドバイスを参考にしてください。 blog.nodejs.org ):

<ブロッククオート

もちろん、いくつかのケースはあります。 は両方やりたいんですよね。Coffee-scriptと Expressはアプリの良い例です。 コマンドラインインターフェイスと とライブラリです。そのような場合 は、次のいずれかを行うことができます。

  • 両方の場所にインストールする . マジかよ、そんなにディスクが足りないのか スペース?大丈夫です、本当に。小さな JavaScriptのプログラムです。
  • グローバルにインストールし、npm link coffee-script または npm link express を実行します。 (をサポートしているプラットフォームであれば シンボリックリンク) そうすると、必要なのは グローバルコピーを更新することで、すべての を使用すると、シンボリックリンクも

最初のオプションは、私が考える最良の方法です。 と思っています。シンプル、明確、明快。一方 の場合、とても便利です。 同じライブラリを再利用する を使用することで、様々なプロジェクトに対応できます。(詳しくは npmリンクは次回以降に)

私はこれらのバリエーションの1つをテストしたわけではありませんが、かなり簡単なようです。