4
0

Node-REDしくじり先生 - 自作ライブラリ更新ミスでLINEノードが一瞬消えてしまった

Last updated at Posted at 2023-12-11

まじで焦りました。

↑のLINEの自作ライブラリです。今は復旧してますが半日くらいLINEのノードの新規インストールはできなかったと思います。

自作ノードを更新してみたら削除された

久々に更新しようと思い更新してみたら missing 'node-red'(後でよく見たら'node-red' keyword)というエラーがflows.nodered.org/add/nodeのサイト側で発生しました。

スクリーンショット 2023-12-11 11.37.06.png

まぁでも更新できないくらいなら一旦あとで調べよーって思ってたのですが、
なんと削除されている という。

ソースコードではなくpackege.jsonの説明書きの問題らしい

調べたら公式ドキュメントなどにありましたが、package.jsonに"keywords": [ "node-red" ],を入れることがマストになっている模様です。

https://nodered.jp/docs/creating-nodes/packaging
https://nodered.jp/blog/2022/01/31/introducing-scorecard

ほうほう、と思って自分の設定を見てみると確かに空になってました。

スクリーンショット 2023-12-11 11.14.48.png

とうことでここにnode-redと追加して更新したら復帰してくれました。

普通にnpmは更新されてしまう問題

問題というか仕様ですがnpm publishでnpmのレジストリ側を更新 -> Node-REDがそれを取得なのでnpm側で公開されたものに異常があるとNode-RED側で読み取ってくれないという感じみたい。。

それにしても削除(Not Found)にされるのはちょっと、、 前のバージョンのままにしておいてくれても良さそうだけど厳しいのかな

まとめ: 何もプログラムを更新してなくても動かなくなる場合がある

という教訓。何もしてないけど壊れましたってやつですね。

ローカルで試す分には壊れてないんですけど、レジストリ側で受け付けてくれませんでした。
Node-REDのレジストリはそんな感じの更新をしているみたいなので注意が必要そうです。

とはいえ下位互換考えまくると負の遺産も増えていくのでこんな感じで方針示して過去のものを切っていくのも一つの方向性だと思います。

どうするとよいのか

久々に更新する時は機能追加など無しでも一旦publishしてみると良いです。

コード変更してると中身の問題も疑ってしまいますからね

関連記事

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0