Meteorのcreateコマンドでエラーになる

Your First Meteor Application: A Complete Beginner's Guide to the Meteor JavaScript Framework (Meteor Tutorial Book 1) (English Edition)

はじめに

Meteorとは、JavaScriptベースのフルスタックフレームワークです。

何とNode.jsやMongoDBまで含まれている(個別にインストール不要)ので、まさにこれ一本インストールするだけで、すぐにアプリ作成できます。

 

なお、現在はWindowsインストーラーも公式サイトからダウンロードできます。

Meteor

 

まさに怠け者の私にピッタリなフレームワークなのでさっそく試してみましたが、チュートリアルのステップ1(createコマンド)でいきなり407エラー!

 

二度あることは三度ある、人生に無駄な経験はないよ、というのが今回のお話。

 

結論

環境変数にhttp_proxy(https_proxy)を設定する

(Node.jsのnpmコマンドエラーと同じ)

 

経緯

「善は急げ」ということで、早速こちらのチュートリアルの通りに試してみました。

(ちなみにMeteorの最新版は1.4です)

 

すると、「最初のアプリを作成する」でいきなり以下のエラーが発生!

While downloading autoupdate@1.2.11...:
error: tunneling socket could not be established, statusCode=407

 

まさに出鼻をくじかれたわけですが、407エラー(Proxy Access Denied)には散々泣かされてきたので、対処法もすっかり身に付いているわけです。

 

念のため調べてみると、golangと同様の方法でいけるらしい。

Using Meteor behind a proxy · meteor/meteor Wiki · GitHub

Windowsの場合(プロキシ認証が無い場合は「user:password@」は不要)

SET HTTP_PROXY=http://user:password@1.2.3.4:5678
SET HTTPS_PROXY=http://user:password@1.2.3.4:5678

 

というわけで、無事プロキシの壁を突破しサンプルアプリを作成できました。めでたしめでたし。

 

まとめ

なお、HTTPS_PROXYを「https」ではなく「http」としているのは、間違いではなくたぶんわざとです。

私の経験上からも言えるのですが、proxy経由だとSSLの証明書も取れなかったりして、httpsだとアクセスできないケースも多かったです。

 

あと、過去記事にも書いてますが、利用環境でパスワードを定期変更する場合、ローカル環境変数(setlocal)で使うときだけ設定した方が良いです。


Meteorもそうですが、プロキシ認証に失敗した場合でも、環境変数に設定されたパスワードを使って勝手にリトライしてしまうため、コンソールにエラーが返ってきたときには時既に遅し(アカウントロック)となってしまいます。

みなさん、くれぐれもご注意ください。