Chocolateyでつまづいたとこ

最近Chocolateyがまた紹介記事が上がっていたので使ってみた。スルーしたのが悔やまれることがわかった。ダウンロード、インストールを手作業でしなくていいのがやっぱりすごく楽だった。

インストールは他の方で任せるとして、自分は引っかかったとこなどをメモする。
インストールはこちらを参考に。
Widnows用パッケージ管理ツール Chocolatey - @ledsun blog

ChocolateyGUIが起動できない

Chocolatetyを使ってみてChocolateyGUIが起動できなかった。
Chocolateyをインストール: Cygwinからも使う
によると、Windowsを再起動しないとChocolateyGUIは起動できないそうです。

Emacsがインストールできない

エラーメッセージはこんなのが

[ERROR] Cannot bind argument to parameter 'Path' because it is an empty string.
-----------------------
At C:\Chocolatey\chocolateyinstall\helpers\functions\Write-ChocolateyFailure.ps
1:30 char:13
+ Write-Error <<<< $errorMessage
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
tion
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
n,Write-Error
Write-Error : Package 'Emacs v24.3' did not install successfully: Cannot bind a
rgument to parameter 'Path' because it is an empty string.
At C:\Chocolatey\chocolateyinstall\functions\Chocolatey-NuGet.ps1:90 char:28
+ Write-Error <<<< "Package `'$installedPackageName v$installe
dPackageVersion`' did not install successfully: $($_.Exception.Message)"
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
tion
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
n,Write-Error

https://gist.github.com/pogin503/8052282

これはPathが空だからエラーになるらしい。

解決方法

エラーはコマンドプロンプトを再起動したらなんの問題もなくインストールできた。

メモ 1

このエラーを解決しようとEmacs.nupkgを見てみた。解凍はLhaplusでやった。右クリック→解凍→ここで解凍で問題なく解凍できた。

  • NuGet Package Explorer

とかでも見れるらしい。

Emacs.nupkgの中身は

rels/.rels
Emacs.nuspec
README.org
tools/chocolateyInstall.ps1
package/services/metadata/core-properties/01a4d4df47764837ab70ae372ee2f054.psmdcp
[Content_Types].xml

てな感じだった。

インストースクリプトはtools/chocolateyInstall.ps1に書かれてある。Vim.nupkgの中身とくらべてみるとだいぶ違っていた。

結局コマンドプロンプトを再起動したら直ったので真実は闇の中に。

メモ2

PowerShell自体を学ぶにはここがいいかも。
PowerShell基礎文法最速マスター - PowerShell Scripting Weblog

スクリプトを参考にするんなら

C:\Chocolatey\chocolateyinstall\functions\*
C:\Chocolatey\chocolateyinstall\helpers\*
C:\Chocolatey\chocolateyinstall\toolds\*
C:\Chocolatey\chocolateyinstall\chocolatey.ps1

を参考にすれば書き方の参考になる。