Chocolatey-Windows用のapt-get

Chocolateyは、Linux Worldのapt-getに似たWindowsパッケージマネージャーです。







NodesterでのNode.jsの開発により使用を開始しました。 ノード、git、dropbox、同じskypeを定期的に更新したいのですが、msiインストーラーと設定をダウンロードするのではなく、1つのコマンドで更新するだけです。



cup all







すべてのパッケージアップグレードすることが可能です。 Wiki で使用可能なコマンドの一般的なリスト 。 残念ながら、 パッケージを削除する方法はありません



そのため、常時動作するには、コンソール、git、ノード、jadeへのアクセスが必要です。 Nodesterの開発の準備というコンテキストで(たとえば)Chocolateyとの作業を少し説明したいと思います。



インストール要件:



Windows XP / Vista / 7/2003/2008

.NET Framework 4.0

PowerShell 2.0



このような単純なコマンドを実行するだけでインストールされます(PowerShellのcmd.exeでは処理されません)。



@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/psChocInstall'))"







チョコレートのインストロルプロセス



その後、C:\ Chocolateyに自動的にインストールされ、C:\ Chocolatey \ libsにパッケージ、ライブラリの説明が表示されます。 デフォルトプログラムのメインモジュールは、Program Files(x86)にインストールされます。



開発者に必要な基本パッケージはすべて揃っています。 PHPRubyPythonNode.jsなどの解釈された言語 DB- MySQLMongoDBSQLite 。 バージョン管理Git 、Mercurial、 SVN 。 メモ帳++、Sublime。 Kindleで書籍を処理するための口径



1. npmでNode.jsをインストールする



cinst nodejs.install







このコマンドは次のようなものです



chocolatey install nodejs.install











確かに、pathに記録されたパスが使用可能になるように、コンソールを閉じて再度開く必要があります。







2.ノードがインストールされると、パッケージマネージャーを介して開発およびモジュールのインストールを既に実行できます。 Nodsterのバッグはこちら







3. Gitがない場合、ノードはデプロイに失敗するため、Chocolateyを使用してインストールします







以下は、私が追加でインストールしたもののリストです。



cinst Console2

cinst putty

cinst curl

cinst Wget









puttyを試します。コマンドはプログラムウィンドウを開き、gitが正常にインストールされたことを確認します(コンソールを閉じてから再度開く必要があることを思い出します)。







4. Nodesterに自由に連絡できることがわかります







その後、通常のプロセスが残り、expresspm、jadeなど、プロジェクトに必要なモジュールをnpmを介してローカルマシンにインストールし、ノードをロードするローカルWebサーバーでテストします。 このすべてのビジネスはgitで行われ、コミットされます。その後、ノードスターカブのプッシュがコミットされます。 nodester( コマンドリスト )では、nodester npm install appnameからnpmモジュールもインストールする必要があります。



すべてのチョコレートに適していません。 Windowsとプラットフォーム用に作成されたアプリケーションのイデオロギーは、彼ら自身がスタートアップに登らなければならず、許可なく更新するためにあらゆる機会に登らなければならないという事実に傾いています。 したがって、パッケージにはChromeが含まれていますが、GoogleUpdater.exeによってすべてが既に更新されていることがわかります。 だから、それ自体が更新のために登ることができるメモ帳++について。 Skype自体を更新できます。 ただし、最初にすべてをチョコレートに設定した場合、特にGUIツールに適用されない場合は、1つのコマンドで簡単に更新できます。



最後に、ビデオクリップを添付します。 サイト







UPD。



コメントで、彼らはSlik Subversion(SVN)パッケージを追加するように頼みました。 これがいかに簡単かを説明するのに役立つと思います。 「チョコレート」の仕事の原理も明らかにされます。



最も単純な場合の主な説明とインストールスクリプト。 すべてのパッケージは自分でビルドできます。 以下に例を示します。



1.記述ファイルC:\ sliksvn \ sliksvn.nuspecを適切なテキスト( 元のディスク )で作成します。



 <?xml version="1.0"?> <package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <metadata> <id>sliksvn</id> <title>SlikSVN</title> <version>1.7.4</version> <authors>Slik Company</authors> <owners>anatooly</owners> <summary>Slik subversion reliable version control starts here</summary> <description>We provide a standalone command line Subversion package for Windows. The installer contains all command line tools (svn, svnadmin, svnsync, svnserve, svnmucc, etc.) but no application bindings nor Apache modules. The tools are fully side-by-side compatible with other packages. Ideal for automated build and deploy scripts</description> <projectUrl>http://www.sliksvn.com/</projectUrl> <tags>sliksvn svn subversion</tags> <copyright>Slik Company</copyright> <requireLicenseAcceptance>false</requireLicenseAcceptance> </metadata> </package>
      
      







2.その後、インストールスクリプトCを作成します。\ sliksvn \ tools \ chocolateyInstall.ps1



try {



Install-ChocolateyPackage 'sliksvn' 'msi' '/quiet' 'www.sliksvn.com/pub/Slik-Subversion-1.7.4-win32.msi' 'http://www.sliksvn.com/pub/Slik-Subversion-1.7.4-x64.msi'



Write-ChocolateySuccess 'SlikSVN'

} catch {

Write-ChocolateyFailure 'SlikSVN' "$($_.Exception.Message)"

throw

}









コードから明らかになります。 オフィスからダウンロードされるもの。 このサイトは32ビットまたは64ビットのインストーラーであり、気を散らすことなくクワイエットモードでインストールされます。



3.追加します。 インストールファイル(欠落している可能性があります)ですが、この場合は重要ではありませんC:\ sliksvn \ tools \ install.ps1



param($installPath, $toolsPath, $package, $project)



Write-Host 'This is not a package with dlls to reference in it.'

Write-Host 'Please install using chocolatey'

Write-Host "To get chocolatey just run 'Install-Package chocolatey' followed by 'Initialize-Chocolatey'"

Write-Host 'chocolatey install sliksvn'

write-host 'Removing this package...'

uninstall-package sliksvn -ProjectName $project.Name









4.パッケージを収集します。 NuGetで組み立てることができます。 パスへのアクセスを登録するか、フルパスでアクセスします。 Cにあります:\ Chocolatey \ chocolateyInstall \ NuGet.exe



> cd C:\ sliksvn

>ヌゲットパック



次に、C:\ sliksvn \ sliksvn.1.7.4.nupkgローカルパッケージを取得します。 そこからすでにインストールできます。cinstsliksvn -source C:\ sliksvnを確認します(パスには、名前のないパッケージが置かれているフォルダーへのパスのみがあります)。 ローカルにインストール。 その後、パッケージをサイトにアップロードできます。 ポストモデレーションモードはそこで機能するため、パッケージはすぐに表示され、cinst sliksvnを介して利用可能になります。



パッケージをインストールするとき、どのように機能しますか? インストール時に、nupkgパッケージにパッケージ化されているものすべて-インストールスクリプト、説明、およびその他のファイル、バイナリアーカイブ(そこある可能性のある興味深い例多数あります)がC:\ Chocolatey \ lib \ PACKAGE NAMEフォルダーに入りますが、スクリプトで指定されたアクション私たちの場合、サイレントインストールはデフォルトで実行されます。つまり、SlikSVNは64ビットシステムであるため、C:\ Program Files \ SlikSVN \に配置され、パス自体に書き込まれます。 しかし、実際には、インストールは、パッケージに含まれる独自のアーカイブからのアンパック、または独自の着信ライブラリを使用したその他のアクションになります。 それはすべて想像力にかかっています。



削除する方法は? SlikSVN自体は、標準のインストールプログラムと同様に、Install-Uninstallを介して、C:\ Chocolatey \ lib \ PACKAGE_NAMEから手動で。



更新2012-08-15



最近のバージョンでは、 チョコレートのアンインストールによるパッケージの削除がすでに登場しています。 このコマンドは、Cからパッケージの内容を削除します。\ Chocolatey \ lib \パッケージの名前。つまり、このフォルダーに解凍してインストールされたユーティリティは完全に削除されます。 システムとプログラムファイルにインストールされたもの-触れないでください。



チョコレートのリストから推測するのが論理的であるため、インストールされたパッケージのリストはありません。 ただし、このようなハッキングのオプションとして、これを簡単に修正できます。



 diff --git "a/c:\\Chocolatey\\chocolateyInstall\\functions\\Chocolatey-List.ps1" "b/c:\\Chocolatey\\chocolateyInstall\\functions\\Chocolatey-List.ps1" index 67c2ecc..aa67027 100644 --- "a/c:\\Chocolatey\\chocolateyInstall\\functions\\Chocolatey-List.ps1" +++ "b/c:\\Chocolatey\\chocolateyInstall\\functions\\Chocolatey-List.ps1" @@ -15,7 +15,12 @@ param( $parameters = "list" if ($selector -ne '') { $parameters = "$parameters ""$selector""" - } + } else { + $packageFolders = Get-ChildItem $nugetLibPath | sort name + $packages = $packageFolders -replace "(\.\d{1,})+"|gu + Write-Host $packages + exit + } if ($allVersions -eq $true) { Write-Debug "Showing all versions of packages"
      
      





チョコレートのリストに追加されました:



7zip 7zip.install chocolatey Console2 curl foobar2000 git git.install miranda msysgit nodejs.install notepadplusplus notepadplusplus.install php php5-dev putty sliksvn sublimetext2 warmup Wget



All Articles