ATOM

Windows版Atom 0.187.0(付近)+Proxy環境でPackageのInstall/Updateがエラーになる件の対処

More than 3 years have passed since last update.

見出しのエラーで嵌まって、とりあえず回避した結果のメモです。


結論

昔のAtomのアーカイブzipを取ってきて、必要なPackageをInstall/Updateする。


前提


  • Windows版Atom 0.187.0、ないしその少し前の版。

  • Windows 7 32bit版及びWindows 8.1 64bit版で確認。

  • Proxy環境下。

  • 昔は問題なかったのに最近Package Install/Updateができなくなった。


症状


エラー@Atom

手元のAtomを0.160.0から0.187.0に上げてから、PackageのInstall/Updateを行うとエラーメッセージが出て失敗するようになった。

Compiler tools not found

Packages that depend on modules that contain C/C++ code will fail to install.
Read here for instructions on installing Python and Visual Studio.
Run apm install --check after installing to test compiling a native module.

gyp info it worked if it ends with ok

gyp info using node-gyp@1.0.2
gyp info using node@0.10.35 | win32 | ia32
gyp http GET https://atom.io/download/atom-shell/v0.21.0/node-v0.21.0.tar.gz
gyp WARN install got an error, rolling back install
gyp

「ビルドに必要なPythonやVisual Studioが足りない」と怒られているが、以前正常に動いていた(Python等が入っている)環境でも出る。


エラー@apm

apmを直叩きした場合も、同様にエラーになる。

C:¥>apm install --check

Checking for native build tools failed

gyp info it worked if it ends with ok
gyp info using node-gyp@1.0.2
gyp info using node@0.10.35 | win32 | ia32
gyp http GET https://atom.io/download/atom-shell/v0.21.0/node-v0.21.0.tar.gz
gyp WARN install got an error, rolling back install
gyp


原因

特定バージョン以降のAtom(0.174.0のあと?)に同梱されているapmないしnpmの問題?

(参考)Error running apm install behind proxy

(参考)Cannot install or update any packages with 0.186.0 under Windows using proxy #5913


暫定対処

PackageのInstall/Updateが正常に動く版のAtomをzipで取得して、その中に含まれるatom.exeもしくはapmを使ってPackageをInstall/Updateする。

AtomのPackageはデフォルトでC:¥Users¥[ユーザ名]¥.atom¥packagesの下に配置される。

このパスはバイナリインストールしたAtomでもzipで任意の場所に解凍したAtomからでも共通なので、PackageのInstall/Updateだけ昔のAtomで行う。


zipの取得

Atomのアーカイブzipを取得する。

自分が動作確認したのは0.174.0。

前後のバージョンでの動作は未確認。

https://github.com/atom/atom/releases/download/v0.174.0/atom-windows.zip

任意のバージョンのzipは、以下のページで任意のタグのリンクを辿って「atom-windows.zip」をダウンロードする。

https://github.com/atom/atom/tags

zipの解凍先は任意。


PackageのInstall/Update

atom.exeを起動して、Preferences>InstallまたはUpdateから目的のパッケージをインストール or 更新する。

もしくは、解凍した中の¥resources¥app¥apm¥node_modules¥atom-package-manager¥binにあるapm.cmdを直叩きする。

C:¥> cd [解凍先]¥resources¥app¥apm¥node_modules¥atom-package-manager¥bin

C:¥~¥> apm install --check
Checking for native build tools done

カレントディレクトリを変更せずにapmコマンドを実行すると、パスが通っている方のapmが実行されるので注意。

Packageのインストールが終わったら、本来の(この場合だと0.187.0の)Atomを起動して普通に使用する。


抜本対処

修正されるのを待つ。


別解

拾ってきた0.174.0等のAtomをそのまま使う。

インストール版と違って、Atomのバージョンが固定される点だけ注意。


補足

事前にnpmとapmのProxy設定を事前に行っておくこと。

ユーザのホームディレクトリはC:¥Users¥[ユーザ名]あたり。


[ユーザのホームディレクトリ]¥.npmrc

proxy=http://[proxyURL]:[proxyPort]/

https-proxy=http://[proxyURL]:[proxyPort]/


[ユーザのホームディレクトリ]¥.atom¥.apmrc

https-proxy = http://[proxyURL]:[proxyPort]/

http-proxy = http://[proxyURL]:[proxyPort]/

認証付きProxyの場合のURLはhttp://[ID]:[pass]@[proxyURL]:[proxyPort]/

最新のAtom(今後含む)で検証すると正常動作しないときに設定/環境とAtomのどちらの問題か切り分けが難しくなるので、Proxy環境周りの設定を検証する場合は世の中で動作実績があるAtom(このエントリだと0.174.0)で確認して、それから新しいAtomを使った方が良い。

Atom本体と異なるapm/npmでPackageを入れることによる影響は不明。あくまで暫定対処ということで。

古いバージョンのAtomでもエラーが出る場合は、別の原因の可能性。


2015/03/31修正

パッケージ更新用のAtom(0.174.0)を起動した時にMinimapでエラーが出る。0.174.0のAtomとパッケージの依存関係に問題がありそう。

他のパッケージでも同様のことが起きるかもしれない。

普段使う用のAtom(0.187.0)ではエラーが出ない。また動作上の問題も今のところ出ていない。

本体が修正されるまでの過渡的状態ということで割り切って使用している。

不安な場合は、0.174.0等でパッケージの更新を行う前にC:¥Users¥[ユーザ名]¥.atom¥packagesをバックアップしておいて、問題が起きたときはフォルダごと置き換え直せばOK。のはず。


2015/04/02追記

2015/04/02時点の最新版であるAtom 0.189.0の環境でパッケージを確認すると、Atom Beautify 0.23.1とMinimap 4.7.4が表示された。

しかし、0.174.0から確認するとAtom Beautifyが0.23.0、Minimapが4.6.0となっていて、最新のバージョンが見えない。(最新化されている「ことになっている」)

C:¥Users¥[ユーザ名]¥.atom¥packagesの下にあるatom-beautifyフォルダとminimapフォルダを手動削除してから0.174.0で改めてInstallすると、Atom Beautify 0.23.1とMinimap 4.7.4を適用できた。