問題タブ [powershellget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - PowerShellGet 用の純粋な powershell Nuget モジュールを作成する
私が欲しいもの
ビルド システムで使用するために、多数の PowerShell スクリプトを Nuget パッケージとして公開したいと考えています。
PowerShellGetを使用して、インストール作業とバージョン管理を行いたいと考えています。
これらのスクリプトを Visual Studio ソリューションの一部にするのではなく、スタンドアロン スクリプトとして使用したいと考えています。
利用シーン
どのシステムでも、構成された Nuget プロバイダーを使用して、ユーザーは次を実行します。
その瞬間から、そのモジュールからのすべてのエクスポートは、このユーザーが永続的に利用できます。また、ユーザーはそのコマンドを再度呼び出して、それらのスクリプトのバージョンを更新することもできます。
私がしたこと
ここでパッケージの現在の状態を見つけることができます: GitHub
Nuget プロバイダーをローカル Nuget サーバーに追加して構成しました
この呼び出しを行うには
Get-PackageProvider -Name NuGet -ForceBootstrap
、Set-PSRepository -Name My_Nuget_Repo -SourceLocation http://my-nuget/api -InstallationPolicy Trusted
によってローカルにインポートできる適切なモジュールを作成しました
Import-Module
そのモジュールでNugetパッケージを作成して公開しました
問題
Install-Module
コマンドレットでそのパッケージをインストールでき、Get-InstalledModule
リストの後半で確認できます。
ただし、利用できる機能はありません。
また、何があってInstall-Module
も、私のパッケージからスクリプトを呼び出さないでください:
ScriptsToProcess
から呼び出していないMyModule.psd1
- フォルダ
Install.ps1
から呼び出していませんtools
- フォルダ
Init.ps1
から呼び出していませんtools
- モジュールによってエクスポートされたコマンドレットは使用できず、モジュールはによってインポートできません
Import-Module
(Visual Studios からインストールした場合、同じパッケージが正しく動作しInstall-Package MyModule
、スクリプトが呼び出され、PowerShell モジュールがインポートされます)。
調査
PowerShellGet
に基づいているためOneGet
、問題はInstall-Package
コマンドレット (コマンドレット内で呼び出されますInstall-Module
) にあるようです。
Install-Package MyModule
Visual Studio からInstall.ps1
実行しInit.ps1
ていて、呼び出されたとき。しかし、純粋な PowerShell からの同じコマンドは何もしません。
powershell - Register-PSRepository の無効な Web Uri エラー
Windows の 11 月の更新 (PackageManagement
およびPowerShellGet
1.0.0.1 バージョンのモジュール) の後、HTTPS NuGet サーバーを PSRepository として登録できなくなりました。
エラーを返します:
powershell - Install-PackageProvider は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません
PowerShell ギャラリーの Get Started をフォローしています。これは、PowerShellGet モジュールが Windows 10 に存在することを示しています (これを使用しています - ビルド 14721)。確認するために、PowerShell v5 を実行しています。
PowerShell ギャラリーの開始には、次のように記載されています。
PowerShellGet では、NuGet プロバイダーが PowerShell ギャラリーと連携することも必要です。NuGet プロバイダーが次のいずれかの場所にない場合、PowerShellGet を初めて使用するときに、NuGet プロバイダーを自動的にインストールするように求められます
。
これらの場所には何もありません:
Get Started with PowerShell Galleryには、次のように記載されています。
または、Install-PackageProvider -Name NuGet -Force を実行して、NuGet プロバイダーのダウンロードとインストールを自動化できます。
私がそれを試してみると:
私はとても混乱しています。私は PowerShell v5 を持っていますが、PowerShellGet という本来あるべきものがすべて揃っていないようです。
誰かが理由を説明できますか?
azure-devops - VSTS ホスト エージェントでの PowerShellGet の使用
ビルド プロセスで Visual Studio Team Services (VSTS) がホストするビルド エージェントを使用しています。私のビルドは主に、git にあるスクリプトを呼び出す「PowerShell」ステップに依存しています。このスクリプト内から、PowerShellGet を使用して PowerShell モジュールを管理したいと考えています。たとえば、実行するだけでpscxをインストールできるようにしたいと思います
PowerShellGet
残念ながら、ホストされたエージェントは PowerShell 4 を使用しており、モジュールがインストールされていません。そのため、Install-Module
機能は使用できません。
VSTS でホストされたエージェントで PowerShellGet モジュールを使用する提案はありますか? このマシンの管理者権限がないため、PowerShell 4 用の PowerShellGet をインストールする msi をインストールできないことに注意してください。
powershell - PowerShell Register-PSRepository セットの優先度
2 つの PowerShell リポジトリがインストールされています。Unregister-PSRepositoryコマンドを使用して既定のパッケージ フィード ( https://www.powershellgallery.com/api/v2/ )をアンインストールすることはできず、既定のパッケージ フィードを介してパッケージを取得したくありません。パッケージがインストールされるパッケージフィードよりも優先順位を設定することは何とか可能ですか?
powershell - モジュールから関数をインポートしないPowershell
ここで NuGet フィードをセットアップしようとしていますが、うまくいきました。フィードからモジュールをインストールしました
しかし、Get-Module を実行すると、関数が取得されず、それはマニフェストですか?
手動でインストール場所に移動し、手動でインポートする場合
Import-Module
私のマニフェスト ファイルにはこれらの行があるため、正しく動作しない理由がわかりません。
FunctionsToExport = '*'
CmdletsToExport = '*'
powershell - .exe または .msi から Package Management/PowerShellGet/OneGet パッケージを作成するにはどうすればよいですか?
Package Management (以前の PowerShellGet (以前の OneGet)) を使用してパッケージをインストールする方法については、たくさんの情報を見つけることができますが、それらのパッケージの作成に関する情報はほとんど見つかりません。
コマンドレットを使用して PowerShell モジュールを公開する方法を説明しているthisを見つけましPublish-Module
たが、他の種類のパッケージを作成する方法に関する情報は見つかりませんでした。
具体的には、.MSI と .EXE の 2 つのタイプを作成したいと考えています。.EXE はシステムのどこかにインストールする必要があるだけで、ユーザーが実行できるように PATH 環境変数を更新する機能が必要です。.MSI については、(msiexec を使用して) インストールするのが理想的ですが、それが不可能な場合は、他の手段を使用できます。
私が見つけることができる唯一のリモート関連の情報は Chocolatey からのものです。これは、Package Management より前のシステムですが、Package Management で動作します (多分? ちょっと? よくわかりません?)。Chocolatey はパッケージを作成できますが、Package Management 用のパッケージを作成する方法は本当にそれしかないのでしょうか?
これらのパッケージング タスクを実行する方法に関する情報はどこにありますか?
windows - モジュール 'PowerShellGet' で 'Save-Module' コマンドが見つかりましたが、モジュールを読み込めませんでした
パワーシェルでコマンドを実行すると Save-Module -Name ACMESharp -Path <path>
次のようなエラーが表示されます。
モジュール 'PowerShellGet' で 'Save-Module' コマンドが見つかりましたが、モジュールを読み込めませんでした。
そこでスクリプトを実行してみると Import-Module PowerShellGet
、ステータスが「制限付き」になっているのは実行ポリシーの問題であることがわかりました。