背筋を伸ばして、まいにち笑顔

ブログには何度も挫折してきた。今度こそ、とりあえず体裁なんて忘れて、消しカスみたいなことでもアウトプットしていきたい。

chocolateyの導入とvimのインストールで苦しむ

経緯

Windowsの黒い画面を最近ようやく触り始めたのですが、いちいちファイル編集にエディタが立ち上がるのがもっさりしていてvimを入れたいと思い、調べていたらChocolateyというものを見つけました。

環境

Chocolatey

Windowsパッケージ管理ソフトです。 Macのhomebrew、 Linuxyum/apt-get(/rpm?実はよく分かっていない...)みたいなものですね。 冒頭のVimはもちろん、Git、VirtualBoxFireFox等、 さまざなアプリケーションが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のサーバ障害(?)にあったようです。Twittersourceforge disaster recoveryとかで検索しても直近数時間に何件かヒットしたのでここ最近の問題の模様。

( ̄▽ ̄)

初めてのChocolateyで一番最初に入れようとしたVimでエラーが起きたとなったらそりゃChoolateyの方を疑うでしょう!いきなりサーバ障害のエラーにぶつかるとは何とも不運なこった、と思いながら今に至ります。ちゃんちゃん。