Chocolatey でパッケージ管理を行う

概要:apt-get風、Windows用パッケージマネージャー

Chocolateyの操作

エイリアス

  • インストールコマンド(chocolatey install = choco install = cinst)
  • DEPRECATION バージョンコマンド(非推奨)(chocolatey version = choco version = cver)
  • DEPRECATION アップデートコマンド(非推奨)(chocolatey update = choco update)
  • アップデートコマンド(chocolatey upgrade = choco upgrade = cup)
  • アンインストールコマンド(chocolatey uninstall = choco uninstall = cuninst)

Chocolateyのインストール

C:\> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

→インストール先「 %ChocolateyInstall% 」は、「 %ALLUSERSPROFILE%\chocolatey\bin

注釈

Windows XP の場合

C:\> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "[System.Net.ServicePointManager]::ServerCertificateValidationCallback={$true}; iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%APPDATA%\chocolatey\bin

→インストール先「 %ChocolateyInstall% 」は、「 %APPDATA%\chocolatey\bin

Chocolateyのバージョン確認

C:\>choco upgrade chocolatey --noop
Chocolatey v0.9.9.4
_ Chocolatey:ChocolateyUpgradeCommand - Noop Mode _
You have chocolatey v0.9.9.4 installed. Version 0.9.9.5 is available based on your source(s)

Chocolatey can upgrade 1/1 package(s).
 See the log for details.

C:\>

Chocolateyのバージョンアップ

C:\>choco upgrade chocolatey -y
Chocolatey v0.9.9.5
Upgrading the following packages:
chocolatey
By upgrading you accept licenses for the packages.
chocolatey v0.9.9.5 is the latest version available based on your source(s).

Chocolatey upgraded 0/1 package(s). 0 package(s) failed.
 See the log for details.

C:\>

付属ツール

注釈

%ChocolateyInstall%\bin\RefreshEnv.cmd

レジストリーから環境変数を読み込み直す。
@echo off
rem 使用例
choco install -y ruby
call RefreshEnv
choco install -y ruby2.devkit

パッケージ操作

概要 コマンド
パッケージのインストール
C:\> cinst -y %packageName%
インストール済みのパッケージ一覧表示
C:\> clist -l
インストール済みパッケージの最新バージョンの確認
C:\> cup all -whatif
パッケージのアップデート
C:\> cup -y %packageName%
パッケージのアンインストール
C:\> cuninst -y %packageName%

パッケージインストールサンプル

choco_basic.bat

概要:Chocolatey のインストールとパッケージのインストール
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off

VER | find "XP" > nul
IF not errorlevel 1 GOTO Win_XP

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
call "%ALLUSERSPROFILE%\chocolatey\bin\RefreshEnv"
goto cinst

:Win_XP
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "[System.Net.ServicePointManager]::ServerCertificateValidationCallback={$true}; iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%APPDATA%\chocolatey\bin
call "%APPDATA%\chocolatey\bin\RefreshEnv"

:cinst
rem cinst -y ChocolateyGUI
cinst -y 7zip
rem cinst -y svn
rem cinst -y tortoisesvn
cinst -y git
rem cinst -y TortoiseGit
call RefreshEnv

pause

cinst_basic.bat

概要:パッケージのインストール
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
@echo off
setlocal

rem [Utilities]
rem cinst -y ChocolateyGUI
rem cinst -y 7zip
rem cinst -y sysinternals
rem cinst -y procexp
rem cinst -y dependencywalker
rem cinst -y jenkins
rem cinst -y ccleaner
rem cinst -y hashcheck
rem cinst -y fciv
rem cinst -y jq

rem [Version Control System]
rem cinst -y svn
rem cinst -y tortoisesvn
rem cinst -y git
rem cinst -y TortoiseGit

rem [IDE]
rem cinst -y eclipse
rem cinst -y netbeans
rem cinst -y netbeans-php
rem cinst -y VisualStudioExpress2013WindowsDesktop
rem cinst -y virtualbox
rem cinst -y vagrant
rem cinst -y XAMPP.app

rem [Editor]
rem cinst -y vim
rem cinst -y ctags
rem cinst -y SakuraEditor
rem cinst -y Brackets
rem cinst -y atom

rem [Binary Editor]
rem cinst -y HxD
rem cinst -y hexedit

rem [Diff]
rem cinst -y winmerge
rem cinst -y winmerge-jp
rem cinst -y kdiff3

rem [Web Browser]
rem cinst -y GoogleChrome
rem cinst -y Firefox

rem [Network]
rem cinst -y wireshark
rem cinst -y filezilla
rem cinst -y winscp

rem [Graphic]
rem cinst -y gimp
rem cinst -y InkScape
rem cinst -y blender

rem [DataBase]
rem cinst -y sqlite 
rem cinst -y mysql
rem cinst -y mysql.workbench
rem cinst -y mariadb 
rem cinst -y postgresql
rem cinst -y mongodb

rem [Linux]
rem cinst -y GnuWin
rem cinst -y Cygwin
rem cinst -y mingw

rem [Language] Go
rem cinst -y golang
rem [Language] Python
rem cinst -y python2
rem cinst -y python3
rem [Language] PHP
rem `cinst -y php` is Non Thread Safe version.
rem require `msvcr110.dll` of `Microsoft Visual C++ 2012 Redistributable Package`
rem `cinst -y vcredist2012` or http://www.microsoft.com/ja-jp/download/details.aspx?id=30679
rem [Language] Perl
rem cinst -y ActivePerl

pause
endlocal

cinst_doxygen.bat

概要:doxygenパッケージのインストール
1
2
3
4
5
6
7
8
@echo off
setlocal

cinst -y doxygen.install
cinst -y Graphviz

pause
endlocal

cinst_vagrant.bat

概要:vagrantパッケージのインストール
1
2
3
4
5
6
7
8
@echo off
setlocal

cinst -y virtualbox
cinst -y vagrant

pause
endlocal

手作業

Chocolateyに対応していないものは手作業で行う。

vim

香り屋版 を使用する場合、 cinst vim でインストールしない。

注釈

vimrc が E:\dotfiles 配下にある場合

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
@echo off

VER | find "XP" > nul
IF not errorlevel 1 GOTO Win_XP

robocopy E:\dotfiles\ "%HOMEPATH%" .vimrc
robocopy /E E:\dotfiles\vimfiles "%HOMEPATH%\vimfiles"
goto bundle

:Win_XP
copy E:\dotfiles\.vimrc "%HOMEPATH%" 
xcopy /i /s /e /h E:\dotfiles\vimfiles "%HOMEPATH%\vimfiles"

:bundle
mkdir -p "%HOMEPATH%\vimfiles\bundle"
git clone https://github.com/Shougo/neobundle.vim "%HOMEPATH%\vimfiles\bundle\neobundle.vim"


pause

Exuberant Ctags

cinst ctags でインストール後、 %ALLUSERSPROFILE%\chocolatey\lib\ctags.5.8.1\tools\ctags.exeexuberant ctags 日本語対応版 で上書き

TortoiseSVN

日本語で使用したい場合、 cinst tortoisesvn でインストール後、Language Packs を手動でインストール

http://tortoisesvn.net/downloads.html

TortoiseGit

日本語で使用したい場合、 cinst TortoiseGit でインストール後、Language Packs を手動でインストール

https://code.google.com/p/tortoisegit/wiki/Download?tm=2


Node.jsのインストール

参考

node.js

詳細は WindowsでNode.jsの環境構築 を参照


Rubyのインストール

詳細は WindowsでRubyの環境構築 を参照