momolog

生きていく中で考えたことをつらつらと

Atom Proxy環境 Windows7 でいくつかのPackageがインストールできない

解決しました(2016/07/12)

解決法は↓に書いています。

momocus.hatenablog.com

問題

Atomのプロキシ設定には面倒くさいものがいっぱいある。どうにかminimapとかfile-iconsとかのパッケージインストールができるようになって、喜んだのも束の間。インストールできない幾つかのパッケージがあった。

まだ解決していないのでここに状況をメモしておく。

インストールできたパッケージ

  • auto-encoding@0.5.7
  • autocomplete-paths@1.0.2
  • file-icons@1.7.16
  • japanese-menu@1.8.0
  • language-markdown@0.14.1
  • language-powershell@2.1.1
  • markdown-preview-plus@2.4.0
  • markdown-table-formatter@2.8.3
  • minimap@4.24.6
  • minimap-autohide@0.10.1
  • minimap-git-diff@4.3.1
  • monokai-seti@0.7.0
  • nucleus-dark-ui@0.9.0
  • seti-syntax@1.0.1
  • seti-ui@1.3.1

インストール失敗したパッケージ

エラーログ

    Installing “markdown-writer@2.3.6” failed.Hide output…

    npm WARN deprecated guid@0.0.12: Please use node-uuid instead. It is much better.
    npm ERR! Windows_NT 6.1.7601
    npm ERR! argv "C:\\Users\\username\\AppData\\Local\\atom\\app-1.8.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\username\\AppData\\Local\\atom\\app-1.8.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\username\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\username\\.atom\\.apmrc" "install" "C:\\Users\\username\\AppData\\Local\\Temp\\d-11665-5272-195y2ot\\package.tgz" "--target=0.36.8" "--arch=ia32" "--msvs_version=2013"
    npm ERR! node v0.10.40
    npm ERR! npm  v2.13.3
    npm ERR! path C:\Users\username\AppData\Local\Temp\apm-install-dir-11665-5272-q4hjcd\node_modules\markdown-writer\node_modules\atom-space-pen-views\node_modules\space-pen\node_modules\grim\node_modules\emissary\node_modules\es6-weak-map\node_modules\es5-ext\node_modules\es6-symbol\package.json.fd20cd195fb2d7db598727be3df1f3ab
    npm ERR! code ENAMETOOLONG
    npm ERR! errno 49

    npm ERR! ENAMETOOLONG, open 'C:\Users\username\AppData\Local\Temp\apm-install-dir-11665-5272-q4hjcd\node_modules\markdown-writer\node_modules\atom-space-pen-views\node_modules\space-pen\node_modules\grim\node_modules\emissary\node_modules\es6-weak-map\node_modules\es5-ext\node_modules\es6-symbol\package.json.fd20cd195fb2d7db598727be3df1f3ab'
    npm ERR!
    npm ERR! If you need help, you may report this error at:
    npm ERR!     <https://github.com/npm/npm/issues>
    Installing “project-manager@2.9.7” failed.Hide output…

    npm ERR! Windows_NT 6.1.7601
    npm ERR! argv "C:\\Users\\username\\AppData\\Local\\atom\\app-1.8.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\username\\AppData\\Local\\atom\\app-1.8.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\username\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\username\\.atom\\.apmrc" "install" "C:\\Users\\username\\AppData\\Local\\Temp\\d-11665-8108-19g262a\\package.tgz" "--target=0.36.8" "--arch=ia32" "--msvs_version=2013"
    npm ERR! node v0.10.40
    npm ERR! npm  v2.13.3
    npm ERR! path C:\Users\username\AppData\Local\Temp\apm-install-dir-11665-8108-1edb5d5\node_modules\project-manager\node_modules\atom-space-pen-views\node_modules\space-pen\node_modules\grim\node_modules\emissary\node_modules\es6-weak-map\node_modules\es5-ext\node_modules\es6-symbol\package.json.2bd92a7158e4973304084cea3526e457
    npm ERR! code ENAMETOOLONG
    npm ERR! errno 49

    npm ERR! ENAMETOOLONG, open 'C:\Users\username\AppData\Local\Temp\apm-install-dir-11665-8108-1edb5d5\node_modules\project-manager\node_modules\atom-space-pen-views\node_modules\space-pen\node_modules\grim\node_modules\emissary\node_modules\es6-weak-map\node_modules\es5-ext\node_modules\es6-symbol\package.json.2bd92a7158e4973304084cea3526e457'
    npm ERR!
    npm ERR! If you need help, you may report this error at:
    npm ERR!     <https://github.com/npm/npm/issues>
    Installing “tidy-markdown@3.0.1” failed.Hide output…

    npm WARN addRemoteGit Error: Command failed:
    npm WARN addRemoteGit     at ChildProcess.exithandler (child_process.js:658:15)
    npm WARN addRemoteGit     at ChildProcess.emit (events.js:98:17)
    npm WARN addRemoteGit     at maybeClose (child_process.js:766:16)
    npm WARN addRemoteGit     at Socket.<anonymous> (child_process.js:979:11)
    npm WARN addRemoteGit     at Socket.emit (events.js:95:17)
    npm WARN addRemoteGit     at Pipe.close (net.js:466:12)
    npm WARN addRemoteGit  git://github.com/slang800/tidy-markdown.git#v2.0.3 resetting remote C:\Users\username\.atom\.apm\_git-remotes\git-github-com-slang800-tidy-markdown-git-9837029c because of error: { [Error: Command failed: ] killed: false, code: 1, signal: null }
    npm ERR! git clone --template=C:\Users\username\.atom\.apm\_git-remotes\_templates --mirror git://github.com/slang800/tidy-markdown.git C:\Users\username\.atom\.apm\_git-remotes\git-github-com-slang800-tidy-markdown-git-9837029c: Cloning into bare repository 'C:\Users\username\.atom\.apm\_git-remotes\git-github-com-slang800-tidy-markdown-git-9837029c'...
    npm ERR! git clone --template=C:\Users\username\.atom\.apm\_git-remotes\_templates --mirror git://github.com/slang800/tidy-markdown.git C:\Users\username\.atom\.apm\_git-remotes\git-github-com-slang800-tidy-markdown-git-9837029c: fatal: unable to connect to github.com:
    npm ERR! git clone --template=C:\Users\username\.atom\.apm\_git-remotes\_templates --mirror git://github.com/slang800/tidy-markdown.git C:\Users\username\.atom\.apm\_git-remotes\git-github-com-slang800-tidy-markdown-git-9837029c: github.com[0: 192.30.253.113]: errno=No error
    npm ERR! Windows_NT 6.1.7601
    npm ERR! argv "C:\\Users\\username\\AppData\\Local\\atom\\app-1.8.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\username\\AppData\\Local\\atom\\app-1.8.0\\resources\\app\\apm\\node_modules\\npm\\bin\\npm-cli.js" "--globalconfig" "C:\\Users\\username\\.atom\\.apm\\.apmrc" "--userconfig" "C:\\Users\\username\\.atom\\.apmrc" "install" "C:\\Users\\username\\AppData\\Local\\Temp\\d-11665-9124-1d7v5b9\\package.tgz" "--target=0.36.8" "--arch=ia32" "--msvs_version=2013"
    npm ERR! node v0.10.40
    npm ERR! npm  v2.13.3
    npm ERR! code 128

    npm ERR! Command failed: Cloning into bare repository 'C:\Users\username\.atom\.apm\_git-remotes\git-github-com-slang800-tidy-markdown-git-9837029c'...
    npm ERR! fatal: unable to connect to github.com:
    npm ERR! github.com[0: 192.30.253.113]: errno=No error
    npm ERR!
    npm ERR!
    npm ERR!
    npm ERR! If you need help, you may report this error at:
    npm ERR!     <https://github.com/npm/npm/issues>

追記

  • プロキシなしWindows10 64bitのPCでは、npm 2.13.3 で上記のパッケージのインストールができた。ENAMETOOLONGは出ない。
  • この問題のPCではnpmのアップデートができなかった。その原因究明ができていない。
  • npmアップデートできない問題は、Windows10 64bit PCでも再現できるかと思っていたのだけれど、試してみたらアップデートできた。なんでや。
  • 問題の根っこはプロキシにありそう。

2016/07/08追記

試したこと・確認したことのメモ

atom付属のnpmのバージョンアップチャレンジ

atomにはnodejsがひっついてくる。apm -vをすると、以下のディレクトリにあるnpmとnodeのバージョンが見れる。

npm:

C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin\npm.cmd

node:

C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\bin\node.exe

バージョン確認:

PS C:\Users\username> apm -v
apm  1.9.2
npm  2.13.3
node 0.10.40
python 3.5.1
git 2.9.0.windows.1
visual studio 2013
PS C:\Users\username> .\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin\npm.cmd -v
2.13.3
PS C:\Users\username> .\AppData\Local\atom\app-1.8.0\resources\app\apm\bin\node.exe -v
v0.10.40

新しめのNodejsを C:\Program Files にインストールしていても、そちらは無視される。悲しい。

PS C:\Users\username> npm -v
3.10.5
PS C:\Users\username> node -v
v6.2.2
PS C:\Users\username> apm -v
apm  1.9.2
npm  2.13.3
node 0.10.40
python 3.5.1
git 2.9.0.windows.1
visual studio 2013


atom付属のnpmのバージョンアップができないか試す前に、node.exeのパスをatom付属の方にしておく修正。(nodeがないとnpmがこける)

パスを通した後、npm update コマンドを試してみた。

PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> .\npm.cmd -v
2.13.3
PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> .\npm.cmd update -g
PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> .\npm.cmd -v
2.13.3

だめなようだ。

npm install npm@latest というコマンドを紹介しているブログがあったので、そちらも試してみた。

PS C:\Users\username> .\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin\npm.cmd install npm@latest
npm@3.10.5 node_modules\npm
PS C:\Users\username> .\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin\npm.cmd -v
2.13.3

一見成功したかのように見える。

わくてかしながらapmでバージョン確認。

PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> apm -v
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
apm  1.9.2
npm  3.10.3
node 0.10.40
python 3.5.1
git 2.9.0.windows.1
visual studio 2013

なんだろうこの[......]というやつは。

よくわからないながらも、apmでパッケージインストールを試す。

PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> apm install minimap
Installing minimap to C:\Users\username\.atom\packages [..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :
[..................] - :


assert.js:93
throw new assert.AssertionError({
    ^
AssertionError: Expected there to only be one child in node_modules
at C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\lib\install.js:167:22
at ChildProcess.onChildExit (C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\lib\command.js:51:49)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:766:16)
at Process.ChildProcess._handle.onexit (child_process.js:833:5)

今回もダメだったよ(´・ω・`)

諦めてnpmをもとのバージョンに戻す。

PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> .\npm.cmd install npm@2.13.3

(ログが長かったので省略)

PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> .\npm.cmd -v
2.13.3
PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> apm -v
apm  1.9.2
npm  2.13.3
node 0.10.40
python 3.5.1
git 2.9.0.windows.1
visual studio 2013
PS C:\Users\username\AppData\Local\atom\app-1.8.0\resources\app\apm\node_modules\.bin> apm install minimap
Installing minimap to C:\Users\username\.atom\packages done

無事に戻せたっぽい。よかった・。

最初と状況は変わらず、minimapはインストールできるがmarkdown-writerとかは無理。

環境の違い

家のPCだとエラーが出ない、会社のPCだとエラーが出る。

2つのPCの環境は結構違うから、エラー原因の特定にはつながらないかもしれないが、いちおう記録しておく。

会社PC:

PS > apm -v
apm  1.9.2
npm  2.13.3
node 0.10.40
python 3.5.1
git 2.9.0.windows.1
visual studio 2013

おうちPC:

  • Windows10 64bit
  • プロキシなし
PS> apm -v
apm  1.9.2
npm  2.13.3
node 0.10.40
python 2.7.11
git 2.8.2
visual studio

考察

npmバージョンアップチャレンジについて

npm update コマンドが使えなかったということは、node 0.10.40 で使えるnpmは v2.13.3が最高ということなのかもしれない。

だとすると、npm 3.10.3 にしたときのエラー(ちなみに家PCでやってみても同じだった)はnodeとnpmのバージョン不整合が原因ということだ。

だから、先にnodeのバージョンを上げておけば行けるかもしれない。

尚、環境の違いについての考察はない。(察せない)