fnmでパッケージ管理しnode.jsをインストールしている際などに、インストール先を知る方法。
動作環境
コマンド実行例
% npm bin -g
/Users/USER_NAME/Library/Application Support/fnm/node-versions/v16.17.0/installation/bin
windows環境やnfm下で管理していてwhichコマンドでインストール先を調べれらないときに便利です。
※Mac, Windowsでも使えます
Windows環境にて、nodistでnode.jsを管理している際に、npmのインストールが失敗してエラーが出るときの対処方法
$ nodist npm 6.14.10
npm 6.14.10
$ npm -v
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'C:\Program Files (x86)\Nodist\npmv\6.14.10\bin\npm-cli.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15 5)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main. .js:72:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
ダウンロード&インストールに失敗しているようなので、nodistのnpmの展開先を削除する。
各バージョンのnpmのインストール先は、こちらC:\Program Files (x86)\Nodist\npmv
エラーが出ていて、インストールしたいバージョンを削除する。
再度、npmをnodist経由でインストールする
$ nodist npm 6.14.10
もしくは、
$ nodist npm match
正常にインストールされていると、
$ npm -v
6.14.10
Node.js環境でログ出力をするlog4jsのConfigurationがv1からv2以降で大きく変わった。
{ appenders: { default: { type: 'file', "filename": "log/server.log", "maxLogSize":104857600, "layout": { "type": "pattern", "pattern": "%d [%p] %m"} } }, categories: { default: { appenders: ['default'], level: 'debug' } } }
古い記述方法だと、must have property “appenders” of type object
というエラーが発生する。
詳細は、Migrating from log4js versions older than 2.x
homebrewでnodeをインストールする方法もあるが、開発環境としてパッケージのバージョン管理をしたいので、node専用のパッケージ管理環境 nodebrewを使用してインストールする
事前に、brew経由でnodeをインストールしている場合は、アンインストールする。
homebrew経由だと、うまく動作しない
$ curl -L git.io/nodebrew | perl - setup
$ echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile
※.bash_profileが既存する場合は、修正もしくは追記する。
$ source ~/.bash_profile
$ nodebrew ls-all
$ nodebrew install-binary stable
$ nodebrew ls v7.9.0 current: none
$ nodebrew use v7.9.0
$ node -v v7.9.0
node.jsで色解析できるnpmパッケージ
palette
https://www.npmjs.com/package/palette
color-thief
https://www.npmjs.com/package/color-thief
いずれも、canvasを利用して、色取得をさせる。color-thiefの方が画像ファイル→canvasへの変換もラップしてくれている。また、color-thifは、ドメナントカラーも返してくる。
Java Scriptで配列、オブジェクトを扱いを便利にするunderscore.js。node.jsでも使える。
npmでインストール
$ npm install --save underscore
スクリプトで宣言、
var __ = require('underscore');
ここで気を付けなければならないのが、予約語の関係で、変数(インスタンス)名はブラウザで使う時のように、”_”とはせず、”__”(_を2個)にすること。
数値の頭に0を付けたりするのに便利なsprintf。node.jsでも使える。
npmでこちらをインストール
sprintf
$ node install --save sprintf-js
スクリプトの冒頭で宣言して、
sprintf = require('sprintf').sprintf;
こんな感じで使う。
var str = sprintf('%04d', foo);