LoginSignup
23
26

More than 5 years have passed since last update.

ChocolateyでCygwin(C:¥に)インストール・設定する

Last updated at Posted at 2013-11-28

普通にインストールするとProgram Filesにインストールされてしまうので、それを変更する

Cygwinのインストール

C:¥> cinst cygwin -o -ia "-q -N -R C:\ -l C:\Cygwin\packages --packages wget, tar, gawk, xz, bzip2, gcc-core -s http://ftp.iij.ad.jp/pub/cygwin/"

-oでオプションを上書きすることを示す(OverrideArguments flag)
-iaでオプションを上書きするインストールオプションを指定する(InstallArguments)
シングルクオーテーションに囲まれた部分がCygwinに関連する部分で、例えば、
--packagesでパッケージも一緒に指定できる。

ちなみに %USERPROFILE%\AppData\Local\Temp\chocolatey\Cygwin にCygwinInstall.exeがインストールされるので、以下のように打ち込めばパッケージをインストールできます。(このやり方は通常せずに後述するapt-cygを使います。)

C:¥> %USERPROFILE%\AppData\Local\Temp\chocolatey\Cygwin\CygwinInstall.exe with -q -N -R C:\ -l C:\Cygwin\packages gcc-core

以上で C:¥ 直下にCygwinができました。例えば、Cygwin上の/binはWindows上のC:¥binになります。

Cygwinパッケージをコマンド上でインストールできるようにする

以下のようにapt-cygファイルを/binに入れて、chmod 755 /bin/apt-cygをする

$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg -P /bin
$ cd /bin
$ chmod 755 /bin/apt-cyg

その後は以下のように普通にCygwin上でapt-cygを利用する

$ apt-cyg install git

Cygwin上でchocolateyを利用する設定

Cygwin上でChocolateyコマンドを利用したいが、

1.$tempという環境変数がwindows形式のパスでCygwinでは利用できないし、必要ないので、Cygwin上では削除する
2.Cygwin上では、$ cmd /c chocoと入力するのが面倒なので、aliasを設定する
なので以下のように.bashrcに記述します。

if [[ "$OSTYPE" == "cygwin" ]];then
  unset tmp temp
  alias choco='cmd /c choco'
  alias cinst='cmd /c cinst'
  alias cup='cmd /c cup'
  alias cuninst='cmd /c cuninst'
fi

 
上記の設定後、管理者権限でcygwinを動かし、以下のようなことがcygwin上でできるようになります。

$ cinst jdk8

コマンドプロンプト上でCygwinコマンドを動かす

以下に記述されていることをします。
http://news.mynavi.jp/articles/2013/11/25/zerokaracygwin/

  • C:\bin\cygwin1.dllC:\Windows\System32 にコピーする
  • windowsの環境変数PATHに次を通す C:\bin;C:\usr\bin;C:\usr\local\bin;
  • windowsの環境変数LD_LIBRARY_PATHを作成するC:\lib;C:\lib\w32api;C:\usr\local\lib;

(この記事の場合は、C:¥直下にCgywinをインストール指定しています。通常はC:¥cygwin¥binになります)

これでコマンドプロンプト上でlsなどのコマンドも利用できます。
(.exeで提供されているコマンドだけです。apt-cygなどはシェルスクリプトなので利用できません)

Cygwin上でコマンドを動かす

普通に~/.bash_profileにPATHを設定する。
例えば、$ cinst jdk8をしていたら、以下のように記述する

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
PATH=$HOME/.nodebrew/current/bin:$PATH
JAVA_HOME=/cygdrive/c/Program Files/Java/jdk1.8.0_25
export JAVA_HOME
export _JAVA_OPTIONS="-Dfile.encoding=UTF-8"
PATH=${JAVA_HOME}/bin:$PATH

参考

23
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
26