「npm ERR! 404 Not Found – GET https://registry.npmjs.org/severless – Not found」解消の備忘録
Cloud9上でServerless Frameworkを用いて開発を行なった際に発生した「npm ERR! 404 Not Found – GET https://registry.npmjs.org/severless – Not found」解消方法は、また探すことにならないように備忘録を残そうと短めの記事を書くことにしました。serverless Framework はAWS Lambdaを用いたサーバーレスの REST APIを素早く構築したい際に大変便利なフレームワークです。
私は以下のように開発していき$npx serverless deployのところでエラーになりました。
$npm install -g serverless
$serverless create --template aws-nodejs-ecma-script
・・・ソースを書く・・・
$npm install
$npm install --save-dev serverless
$npx serverless deploy
https://registry.npmjs.org/severlessにアクセスすれば判りますが、ステータス404で存在しません。
https://registry.serverless.comが正しいアクセス先です。しかし一体どこを参照しているのか。
みなさんはパッと判りますか。
「npm ERR! 404 Not Found – GET https://registry.npmjs.org/severless – Not found」は「npm config set registry」で解消する
結論から言えばConfigの設定を正しく設定し直せば解消します。setしてgetで確認します。
$ npm config set registry https://registry.serverless.com
$ npm config get registry
以下のように出力されていればOKです。
npmの設定系のエラーにビビらないために
まずは息を吸うように以下のコマンドを叩きましょう。
$ npm config list
おお「registry」の値が「https://registry.npmjs.org/severless」になど違う値になっているはずです。
そうです。標準の https://www.npmjs.com 以外の場所にnpm registry がある場合
$ npm config set registry
で正しい値に変更が必要となります。独自 npm registry の場合なども同様の解決方法を用いることができます。
以上です。参考になれば幸いです。