ある日、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