未分類

PowerShellでcurlコマンドが使えない場合の対処方法

更新日:

Windows10からは、curlのインストールが不要なようなので、そのまま使用したらエラーが出ました。

curl https://took.jp
curl : Internet Explorer エンジンを使用できないか、Internet Explorer
の初回起動構成が完了していないため、応答のコンテン
ツを解析できません。UseBasicParsing パラメーターを指定して再試行してください。
発生場所 行:1 文字:1
+ curl https://took.jp
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotImplemented: (:) [Invoke-WebRequest],
NotSupportedException
    + FullyQualifiedErrorId :
WebCmdletIEDomNotSupportedException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

 

原因

使用できない場合は、おそらくエイリアスが原因です。

Get-Alias curl

でcurlのエイリアスを確認してみましょう。

PS C:\Windows\system32> Get-Alias curl
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           curl -> Invoke-WebRequest

 

上記のような表示だった場合、

Invoke-WebRequestのエイリアスにcurlが登録されてしまっています。

 

 

対処法

del alias:curl

 

これを実行して、エイリアス登録を解除してやるだけでおっけいです。

ただ、これはそのプロセス内でしか意味がないようで、

新しくPowerShellを起動した場合には、エイリアスが復活してしまうため、profileに先ほどのコマンドを記述し、PowerShell起動時ごとにエイリアスを削除する設定を行います。

 

PowerShellのプロファイル作成

まず、プロファイルが存在するかを確認します。

test-path $profile

 

Falseだった場合は、存在していないので、作成しましょう。

new-item -path $profile -itemtype file -force

 

もう一度、存在の確認をしてTrueだった場合(存在している場合)次の手順に進みます。

 

プロファイルに書き込み

notepad $profile

 

先ほど実行した、「 del alias:curl 」を書き込み、保存します。

これで、設定が完了です。

 

確認してみよう

Powershellを起動しなおし、

Get-Alias curl

 

を実行すると、

Get-Alias : name 'curl' を含むエイリアスは存在しないため、このコマンドは一致するエイリアスを見つけられません。 del alias:curl
発生場所 行:1 文字:1
+ Get-Alias curl
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (curl:String) [Get-Alias], ItemNotFoundException
    + FullyQualifiedErrorId : ItemNotFoundException,Microsoft.PowerShell.Commands.GetAliasCommand

 

のようなエラーメッセージが出るはずです。

-未分類

Copyright© エンジニアの階段 , 2019 All Rights Reserved Powered by STINGER.