ある日、Zeit Nowのnowコマンドを使おうとしたところ、実行できなくなっていました。
1ヶ月前くらいまでは使えていたのに...
解決方法をチップスとして残します。
Nowとは
nowと打つだけでデプロイできてしまうシンプルで簡単に使えるPaaSです。
https://vercel.com/home
私はNext.jsで利用していますが、他のNode.jsのフロントエンドFWやPythonやGoなどでも使えるようです。
Next.js + nowの使い方はこちらが参考になります。
https://qiita.com/shioiyan/items/540a0d68118c0384f4e4
nowコマンドが実行できなくなった
$ now
> UPDATE AVAILABLE Run `npm i -g now@latest` to install Now CLI 19.2.0
> Changelog: https://github.com/zeit/now/releases/tag/now@19.2.0
> Error! The specified token is not valid
一度設定済みなのでnowでデプロイできるはずなのですが、Errorになりました。
アップデートで古いバージョンだと使えない仕様になったのでしょうか。
解決方法
npm i -g now@latest
せよといわれているので、おとなしくコマンドを実行します。
$ npm i -g now@latest
> Error! Detected unsupported Node.js version.
> Expected ">= 10" but found "8.11.3".
> Please update to the latest Node.js LTS version to install Vercel CLI.
> npm WARN notsup Unsupported engine for now@19.2.0: wanted: {"node":">= 10"} (current: {"node":"8.11.3","npm":"6.13.6"})
今度はnodeのバージョンが低すぎると怒られました。
というわけでnodeをアップデートします。
# nコマンドのインストール
$ npm install -g n
# 安定板のインストール
$ n stable
# バージョン確認
$ node -v
> v12.18.3
これで無事にnowコマンドが使えるようになりました。
$ now
> Error! The specified token is not valid
上記のように怒られたときは、
now login
でメールアドレスを認証させて、
再びnow
コマンドを実行すればデプロイできるようになります。
ちなみに--prodをつけるだけで設定なしで本番環境にdeployできるので便利です。
# DEV
$ now
# 本番
$ now --prod
以上nowのチップスでした。
参考にさせてもらいました。
node.js アップデート手順 https://mebee.info/2019/10/12/post-1793/#outline__3