私は現在Windowsでnodejsを学んでいます。いくつかのモジュールがnpm.cmdを使用してグローバルにインストールされ、nodejsはインストールされたモジュールを見つけることができませんでした。翡翠を例にとると、
npm install jade -g
Jadeはディレクトリ"C:\Program Files (x86)\nodejs\node_modules"
にインストールされていますが、次のコードは"Cannot find module 'jade'"
エラーで失敗します。
var jade = require('jade');
ただし、jadeがローカルにインストールされている場合(npmに-gオプションなし)、コードは正常に実行されます。ローカルにインストールされたモジュールを使用したくありません。ディスクスペースの無駄です。グローバルにインストールされたモジュールをWindowsで動作させるにはどうすればよいですか?
環境変数を追加NODE_PATH
し、それを設定%USERPROFILE%\Application Data\npm\node_modules
する(Windows XP)、%AppData%\npm\node_modules
Windowsの味にモジュールをインストールするまで(Windowsの7/8/10)、またはどこNPMを終了します。これを完全に実行するには、[システムのプロパティ]ダイアログの[詳細設定]タブでこれをシステム変数として追加します(実行control.exe sysdm.cpl,System,3
)。
Windows 7以降の簡単な解決策は、次のコマンドを実行することです。
rem for future
setx NODE_PATH %AppData%\npm\node_modules
rem for current session
set NODE_PATH=%AppData%\npm\node_modules
これNODE_PATH
は、Nodeアプリにモジュールをインポートするときにのみ使用されることに注意してください。CLIでグローバルにインストールされたモジュールのバイナリを使用する場合は、それをに追加する必要がありますがPATH
、node_modules
パーツは含まれません(たとえば%AppData%\npm
、Windows 7/8/10)。
昔話
私はnode.jsにかなり慣れていないので、完全に正しいとは言えませんが、私の経験から、次のように機能します。
詳細については、同様の質問を参照してください:npmを使用してモジュールをグローバルにインストールするにはどうすればよいですか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加