Node.js Applicationのnodeのパスを調べる
EclipseのJavaScriptプロジェクトの中にあるjsファイルを右クリック ー> Run As ー> 1 Node.js Application、で起動されるnodeについて調べました。
/home/pq/git/BlogCardGenerator/BlogCardGenerator、のプロジェクト下にあるtoolsフォルダにあるjsファイルに次のコードを書いて実行します。
console.log(process.execPath); // nodeのパス。 console.log(process.version); // nodeのバージョン。 console.log(process.cwd()); // 現在のディレクトリ。 console.log(module.paths); // モジュール検索パス。このjsファイルに書いて右クリック ー> Run As ー> 1 Node.js Application、とします。
/usr/bin/node v8.10.0 /home/pq/git/BlogCardGenerator/BlogCardGenerator [ '/home/pq/git/BlogCardGenerator/BlogCardGenerator/tools/node_modules', '/home/pq/git/BlogCardGenerator/BlogCardGenerator/node_modules', '/home/pq/git/BlogCardGenerator/node_modules', '/home/pq/git/node_modules', '/home/pq/node_modules', '/home/node_modules', '/node_modules' ]nodeはシステムのnode、つまりmuonでインストールされているnodejsが使われていることがわかりました。
カレントディレクトリは実行したjsファイルのパスではなくプロジェクトフォルダのパスが返ってきました。
モジュール検索パスは実行したjsファイルのあるフォルダからルートまでの各階層にあるnode_moduelsフォルダになっています。
Node.js Applicationで起動するnodeを変更する
Eclipseで、Window ー> Preferences。
JavaScript ー>Runtimes。
JavaScript RuntimesのプルダウンからNode.js Runtimeを選択します。
Addボタンをクリックして、nvmでインストールしたv12.2.0のnodeのパスを指定しました。
/home/pq/.nvm/versions/node/v12.2.0/bin/node v12.2.0 /home/pq/git/BlogCardGenerator/BlogCardGenerator [ '/home/pq/git/BlogCardGenerator/BlogCardGenerator/tools/node_modules', '/home/pq/git/BlogCardGenerator/BlogCardGenerator/node_modules', '/home/pq/git/BlogCardGenerator/node_modules', '/home/pq/git/node_modules', '/home/pq/node_modules', '/home/node_modules', '/node_modules' ]これでnodeが変更になりましたが、モジュール検索パスは変わっていません。
なのでこの方法はnvmでインストールしたnodeに使うにはいまいちです。
Node.js Runtimeの変更はせずに、シェルコマンドとして実行する方法を使うことにしました。
0 件のコメント:
コメントを投稿