Node.js のバージョンを上げて npm コマンドを使ったら次のような warning が表示された
npm WARN config init.author.name Use `--init-author-name` instead. npm WARN config init.author.email Use `--init-author-email` instead. npm WARN config init.author.url Use `--init-author-url` instead.
環境
- node
v16.17.0
- npm
v8.15.0
config の key が変更になっていた
init.author.name
DEPRECATED: Use--init-author-name
instead.
cf. config | npm Docs
init.author.xxx
の代わりに --init-author-xxx
を使えトノコト。
init.author.xxx
が残っていると永遠に WARNING が表示されるので、この設定を削除してしまう
# 設定の確認 $ npm c list ; "user" config from /Users/USER_NAME/.npmrc //registry.npmjs.org/:_authToken = (protected) init.author.email = "YOUR EMAIL" init.author.name = "YOUR NAME" init.author.url = "YUOR URL" registry = "https://registry.npmjs.org/" # `init.author.xxx` を削除 $ npm c delete init.author.email $ npm c delete init.author.name $ npm c delete init.author.url
設定を削除したらとりあえず警告は出なくなりました。
--init-author-xxx
が設定できない問題
ターミナルから設定しようとしてもエラーになる…
$ npm c set --init-author-name="KiKiKi KiKi" npm ERR! code EUSAGE npm ERR! npm ERR! Manage the npm configuration files npm ERR! npm ERR! Usage: npm ERR! npm config set <key>=<value> [<key>=<value> ...] npm ERR! npm config get [<key> [<key> ...]] npm ERR! npm config delete <key> [<key> ...] npm ERR! npm config list [--json] npm ERR! npm config edit npm ERR! npm ERR! Options: npm ERR! [--json] [-g|--global] [--editor <editor>] [-L|--location <global|user|project>] npm ERR! [-l|--long] npm ERR! npm ERR! alias: c npm ERR! npm ERR! Run "npm help config" for more info
こっち使えって書いてるのになんでや…
.npmrc
に設定を書いてみても無視される
.npmrc
--init-author-name="KiKiKi"
config を見ると設定としては表示されるが npm init
時に設定が反映されない
# 設定としては読み込まれている $ npm c list ; "project" config from /Users/kikiki/myproject/.npmrc --init-author-name = "KiKiKi" $ npm init { "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "license": "ISC" }
init-author-xxx
なら上手く動作する
GitHub の issue も close になっているのでよく分かってないのですが、そこに書かれたコメントの通り --init-author-xxx
ではなく init-author-xxx
なら上手く動作しました…
init-author-xxx
はコマンドから設定可能
$ npm c set init-author-name="KiKiKi KiKi" $ npm c set init-author-email="YOUR EMAIL" $ npm c set init-author-url="YOUR WEB SITE" $ $ npm init { "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "KiKiKi KiKi <YOUR EMAIL> (YOUR WEB SITE)", "license": "ISC" }
WARNING に出てくるプロパティで設定できないのどうして… (ᐡ o̴̶̷̤ ﻌ o̴̶̷̤ ᐡ)
[参考]
「わたしの美しい庭」良かった