SSブログ

Node.jsでグローバルにインストールしたモジュールをrequireする方法 [ソフトウェア/PC関係]

最近,仕事でJavaScriptでコーディングする必要が出来て,あれこれ調べながらやってみている。JavaScriptは私のように昔から様々なプログラム言語を学んできた人間にとっては少々厄介な言語に見え,これまでにも何度か習得を試みたのだがその都度撃沈してきたのである。まぁ仕事で必要とか,真に迫った動機がなかったこともあるのだろうが。言語の指定さえなければ他にいくらでも選択肢はある。

という訳で,いろいろ調べて分かったことをこのblogにその都度記録しておこうと思う。twitterとかだと後で確認するのが面倒なので。

で早速JavaScript,というよりむしろnode.jsの話なのだが,npmを使ってsqlite3のようなモジュールをグローバルにインストールした場合,jsスクリプト内で下のように,

let sqlite3 = require("sqlite3");

とやってもモジュールが見つからないというエラーになってしまう件について。

要はアプリケーションのワークスペースを作ってローカルにインストールしてそこからスクリプトを実行するという手順を踏むのが面倒くさいというわけである。結論から言うと,NODE_PATHという環境変数に

> npm root -g

を実行して返ってきたパス文字列を設定してからnodeコマンドを実行すれば良い。それならnode.jsのインストール時に自動的に設定してくれれば良さそうなものだ。グローバルにモジュールをインストールするという仕組みがせっかくありながら,デフォルトでは利用できないというのはなんとも不可解だ。もっと調べればこの辺の事情もわかるかも知れないが,私的には使えれば良いのでここでやめておく。


nice!(0)  コメント(0) 

本日のつぶやき: まとめ 2022/06/17

  • #SmartNews で紹介される頃には大体入手困難になってるから、紹介する意味がない。売れてるのに追加発注しない意味が分からん| 売り切れ店も【3COINS】「電子時計付ワイヤレススピーカー」を使ってみた 気になる音質は? 人気… https://t.co/RhdpN7QAXf 06/16 08:48
  • 大好きな門脇麦さん主演の映画の原作本。父親が渋谷の松濤で数代続く整形外科医院を経営しており,母方は母...『あのこは貴族 (集英社文庫)』山内マリコ ☆3 https://t.co/AEeE6Z4Esn #booklog 06/16 10:38
  • 【読了】『出雲のあやかしホテルに就職します : 12 (双葉文庫)』硝子町玻璃 https://t.co/qovb2vdNKo #booklog 06/17 01:06
  • シリーズ最新巻。今回もまた取り立てて縦軸には進展がない。短編5編。第1話,橋のふもとに1本だけ咲く桜...『出雲のあやかしホテルに就職します : 12 ...』硝子町玻璃 ☆3 https://t.co/csDdCxr5MX #booklog 06/17 01:47

nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。