chocolateyの導入とvimのインストールで苦しむ
経緯
Windowsの黒い画面を最近ようやく触り始めたのですが、いちいちファイル編集にエディタが立ち上がるのがもっさりしていてvimを入れたいと思い、調べていたらChocolateyというものを見つけました。
環境
- Windows8.1
Chocolatey
Windowsのパッケージ管理ソフトです。 Macのhomebrew、 Linuxのyum/apt-get(/rpm?実はよく分かっていない...)みたいなものですね。 冒頭のVimはもちろん、Git、VirtualBox、FireFox等、 さまざなアプリケーションがCUIで管理できるようになります(らしい)。
公式サイトの指示に従えばPowerShellに1行入れるだけでインストールできます。
僕の周りでは、最近は優秀な人たちはだいたいみんな林檎を使っていて、 僕含め彼らから教育を受けたWinユーザは、 Windowsにはhomebrewが無いからねとMacを勧められつつ、 泣く泣く諸々全部GUIインストーラから導入しているイメージです。
そんな人たちに是非使ってほしいですね。
GetOne
ググっていてさらっと斜め読んだ情報だったので出典を忘れましたが、 Windows10からはGetOneという、 Microsoft謹製のパッケージ管理ソフトが導入されるようです。
Chocolateyを知るのがちょっと遅かった感。
(余談)PowerShell
Windowsの黒い画面に触る前にUbuntuを触り始めてしまったので、 これまでほとんどコマンドプロンプトとご縁が無かったものの、 やはりWindowsでもシェルスクリプト組みたいと思うことがちょいちょいあって、 つい最近PowerShellを触り始めました。
Vimのインストールに苦しむ
結論から言うと、Soureforgeの障害のせいでした。
管理者モードからPSを立ち上げchoco install vim
と入力すると、
vim v7.4.560 Installing vim... Write-Error : vim did not finish successfully. Boo to the chocolatey gods! ----------------------- [ERROR] Exception calling "Start" with "1" argument(s): "ファイルまたはディレクトリが壊れているため、読み取ることができ ません。" ----------------------- At C:\ProgramData\chocolatey\chocolateyinstall\helpers\functions\Write-ChocolateyFailure.ps1:30 char:3 + Write-Error $errorMessage + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Write-Error (以下エラーが続く)
と怒られました。出力からはどのファイルが壊れているのかも分からないし、 PowerShellもChocolateyも初めてで嫌な感じしかしない(^^;
とにかくまず日本語のエラーは検索しずらいので対応する英語を探します。 なんかよく分からないけどエラーの対訳サイト情報が見つかりました。
http://homepage3.nifty.com/aokura/tips/winerror.csv
1392,"ファイルまたはディレクトリが壊れているため、読み取ることができません。","The file or directory is corrupted and unreadable."
これをもとに色んな情報を漁りますがいまいちピント来るものがありません。
ただ何か所かで詳しそうな人がchocolatelyに-debug
オプションを付けて
と言っているのを見かけたので自分で試してみます。choco install vim -debug
(前略) デバッグ: Running 'Start-ChocolateyProcessAsAdmin' with exeToRun:'C:\Users\(ユーザ名)\AppData\Local\Temp\chocolatey\vim\vimInstall.exe', statements: '/S ' デバッグ: Elevating Permissions and running C:\Users\(ユーザ名)\AppData\Local\Temp\chocolatey\vim\vimInstall.exe /S . This may take awhile, depending on the statements. Write-Error : vim did not finish successfully. Boo to the chocolatey gods! (以下さっきのエラー続く)
どうやらvimInstall.exeにアクセスしたところでエラーが起きている模様。 エクスプローラで開いて確認するとファイルサイズ1KB。これは怪しい。
ただ問題がどこにあるのか分からない。Chocolateyの問題なのではとタカをくくっていろいろ調べていても分からない。デバッグ出力を読んでみても分からない。っていうかデバッグ: Checking that 'C:\Users\(ユーザ名)\AppData\Local\Temp\chocolatey\vim\vimInstall.exe' is the size we expect it to
be.
とか言ってるし。もしかして問題ないんじゃないの。
かなり悩んだ挙句、最終的に言ったいこのexeファイルのバイナリはどうなっているんだということで、SublimeTextにドラッグ&ドロップすると…。
<html><head> <title>Testing</title> <!-- <script src="/js/jquery.com/jquery-1.11.0.min.js"></script> --> <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script src="//sourceforge.net/js/mirrors.js"></script> <script src="/js/sf.js"></script> <script> var DR_loc = DR_parse_hash_url(); if (DR_loc) { DR_sf_main(DR_loc); } else { window.location.href = 'http://sourceforge.net/home.html'; } </script> </head><body> <noscript> We're sorry -- the Sourceforge site is currently in Disaster Recovery mode, and currently requires the use of javascript to function. Please check back later. </noscript> </body></html>
バイナリではなくHTMLが出てきました。なんと原因はSourceforgeのサーバ障害(?)にあったようです。Twitterでsourceforge disaster recovery
とかで検索しても直近数時間に何件かヒットしたのでここ最近の問題の模様。
( ̄▽ ̄)
初めてのChocolateyで一番最初に入れようとしたVimでエラーが起きたとなったらそりゃChoolateyの方を疑うでしょう!いきなりサーバ障害のエラーにぶつかるとは何とも不運なこった、と思いながら今に至ります。ちゃんちゃん。