普通にインストールするとProgram Filesにインストールされてしまうので、それを変更する
#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.dll
をC:\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
#参考
https://github.com/chocolatey/chocolatey/wiki/CommandsInstall