web-dev-qa-db-ja.com

VS 2015 + Bower:ファイアウォールの背後では機能しません

問題

Visual Studio 2015では、bowerを使用して、ファイアウォールの背後にある場合、次のようなエラーでパッケージの復元が失敗します。

ECMDERR「git ls-remote --tags --heads git://github.com/jzaefferer/jquery-validation.git」の実行に失敗しました。終了コード#-532462766

Gitの代わりにhttpを使用するようにgit configを更新しました。コマンドラインから実行すると、コマンドは成功します。

enter image description here

ただし、Visual Studioまたはそのコンポーネントの1つは、gitではなくhttpを使用しているようです。

背景と最初の解決の試み

パッケージ管理にVisual Studio 2015とBowerを使用します。ファイアウォールの後ろにいないときはうまく機能しますが、ファイアウォールの後ろにいるときはgit://プロトコル。

解決策-SO( example ))の他の多くの場所で文書化されている、実行することです:

git config --global url."http://".insteadOf git://

私がこれをやった今、私のgit config -lは次のようになります。

ore.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=Sean Killeen
[email protected]
url.http://.insteadof=git://

しかし、これにもかかわらず、Visual Studio/npmは私の構成を尊重していないか、古いキャッシュバージョンを使用しています。

解決する2番目の試み

npmの問題に関するこのスレッド ごとに、npm(おそらくbowerがVSで使用している)がgit@構文。これは出力で見たものではありませんが、試してみようと思いました。

私が走った:

git config --global url."https://github.com/".insteadOf [email protected]:

その後、Visual Studioを再起動しましたが、問題は解決しません。私が読んだ修正は、おそらく適用できませんでした。

修正方法に関するアイデアはありますか?

33
SeanKilleen

VS 2015を使用して同じ問題、私の回避策:

  1. Gitをインストールする

    http://git-scm.com/

  2. Git Bashでgit://の代わりにhttpを使用するようにGitを構成する

    git config --global url。 "http://" .insteadOf git://

    (g.pickardouが指すように)編集して、httpsを使用してより安全にすることができます:

    git config --global url。 "https://" .insteadOf git://

  3. VSを構成して、VS Gitを介して新しくインストールされたGitを使用する

    Bowerフォルダー(依存関係の下)を右クリックし、「外部ツールの構成」を選択します

    「$(DevEnvDir)\ Extensions\Microsoft\Web Tools\External\git」のチェックを外します

    「C:\ Program Files(x86)\ Git\bin」で新しいノードを追加します

これが誰かを助けることを願って、

ロジェリオ

61
Rogerio Soares

(少なくともVS2015 Update 1で)インストールされているMicrosoftのバージョンのgit does .gitconfigファイルを尊重しますが、デフォルトでインストールされるツールは、それを操作する方法を提供しません(すべての他の答えは、git configを使用して問題を解決することを示しています)。

余分なインストールなどを行わずに問題を解決するには、C:\ Users\YourUserNameに.gitconfigファイルを作成し、そこにこのコンテンツを配置します(これはgit config --globalが行うコンテンツですが、gitを持っていないので構成を変更できる.exe、あなたは本当にあなたが本当に必要としない他のものをインストールせずにそれを使用することはできません)

 
 [url "https://github.com/"]
の代わりに[email protected]:
 [url" https:// "] 
の代わりに= git:// 
 
13
BrettJ

VS2015リリースで私のために働いた解決策は次のとおりです:

  1. Gitコマンドラインツールをインストールします。
  2. ファイルC:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\bower.cmdを次の内容に変更します。

    set PATH=C:\Program Files (x86)\Git\bin\;%PATH%
    git config --global url."http://".insteadOf git://
    git config -l
    @"%~dp0\node\node" "%~dp0\bower\node_modules\bower\bin\bower" %*
    
7
arcaner

同じ問題がありました。どうやらVS2015 CTPに同梱されているGit.exeは.gitconfigを使用していません。ただし、gitコマンドラインツールを別の場所にインストールしている場合は、(手動で)修正できます。

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\Externalでは、ファイルを編集する必要がありますbower.cmd

4行目と5行目をコメントアウトします。

rem -- set GIT_PATH=%~dp0\git
rem -- set PATH=%GIT_PATH%;%PATH%`

これにより、インストール済みのGitを使用するコマンドがトリガーされ、ローカルの.gitconfigが取得されます。

適切なgit設定を設定していることを確認してください。

git config --global url."http://".insteadOf git://
6
MagicMau

VS 2015 Update 2では、Gitをインストールするだけです

http://git-scm.com/

6
Mano Mangaldas

Visual Studio 2015 RC(CTPではない)でも同じ問題が発生し、解決しました。

2015 RCのbower.cmdはうまく機能しないため、VSで無効にし、PCにインストールされている公式のものを使用する必要がありました。プロジェクトの[Bower]フォルダを右クリックして[外部ツールの設定]を選択し、[$(DevEnvDir)\ Extensions\Microsoft\Web Tools\External\git]セクションのチェックを外すだけです。

また、プロジェクトの正しいパスでGITが機能するように、「。bowerrc」ファイルを変更する必要があります。

これを実行すると、すべてが期待どおりに機能します。

4
L.L.

間違いなく動作する最も簡単な答えはこちらです。この問題で大きな頭痛がしました。 gitをダウンロードしてインストールするだけです。インストール中にこのオプションを選択します。 WindowsコマンドプロンプトからGitを実行

3
pawan nepal

Visual Studio 2015 RC(CTPではありません)でも同じ問題が発生しました。これは私がどこでも見つけた唯一の関連するスレッドなので、ここに私の2cを追加すると思いました。

@MagicMauの答えを拡張すると、参照されるbower.cmdの行は2015 RCには存在しないため、別のアプローチを取り、PATH env変数を設定して、bower.cmdファイル全体が次のようになるようにしました。

set PATH=C:\Program Files (x86)\Git\bin\;%PATH%
@"%~dp0\node\node" "%~dp0\bower\node_modules\bower\bin\bower" %*

最初の行は追加したものであり、2行目は既存のコンテンツであることに注意してください。

初めてこれを行ったとき、Visual Studioはパッケージの復元中にクラッシュしましたが、VSの再起動後に機能しているようです。

2
SirSquidness

プロキシ設定を適切に設定するのは大変でした。ソリューションを共有します。

Windows 10でVisual Studio 2015を使用しています。仕事中にプロキシ設定を設定し、自宅で削除する必要があります。

これを実現するには、2つのソリューションがあります。

  1. 適切な設定を使用するようにVisual Studio外部ツールを構成する
  2. マシンにツール(node、npm、bower)をインストールして使用します(使用するVisual Studioオプションを設定できます)

解決策1(VS外部ツールの構成)

  1. Npmを構成します。管理者プロンプトで次のcmdを実行します。

    > cd "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External"
    > npm.cmd config set --global http_proxy http.proxy http://proxyuser:[email protected]:8080
    > npm.cmd config set --global http_proxy http.proxy http://proxyuser:[email protected]:8080
    
  2. Gitを構成します。 C:\ Windows\Users \%USERNAME%にある.gitconfigファイルを追加します。次に、以下のキー/値を追加します。

    [http]
        proxy = http://proxyuser:[email protected]:8080
    [https]
        proxy = http://proxyuser:[email protected]:8080
    
  3. Bowerを構成します。 C:\ Windows\Users \%USERNAME%にある.bowerrcファイルを追加します。次に、以下のキー/値を追加します。

    {
      "proxy": "http://proxyuser:[email protected]:8080",
      "https-proxy": "http://proxyuser:[email protected]:8080"
    }
    

[〜#〜] warning [〜#〜]:プロキシパスワードに特殊文字が含まれている場合は、プロキシURLをエンコードする必要があります。例:

EtVoilà:)

解決策2(マシンにツールをインストールする)

Node.js、npm、git、およびbowerを自分のマシンにグローバルにインストールしました(VSで使用可能な外部/ツールだけでなく、より多くの制御が必要なため)。

  1. Node.jsのインストール: NodeJS Webサイト
  2. Npmのインストール[〜#〜] note [〜#〜]:NpmはNode.jsによって自動的にインストールされます。 (言い換えれば、node.jsにインストールさせてください)
  3. Gitのインストール: Git Webサイト WindowsプロンプトでGitコマンドを実行するには、このオプションをオンにしてください。 screen shot git installation
  4. Bowerのインストール(グローバル化):npm install -g bower
  5. インストールされた新しいツールを使用するようにVisual Studioツールを構成します。これを行うには、Visual Studioを起動=>ツール=>オプション=>「プロジェクトとソリューション」ノードを開く=>外部Webツールを開く=>「$(DevEnvDir)\ Extensions\Microsoft\Web Tools\External\git」のチェックを外します。新しい「C:\ Program Files(x86)\ Git\bin」を追加します
  6. プロキシ設定を設定します。 PowerShellで以下のスクリプトを実行しますAdministrator

Windows用の2つのPowerShellスクリプトを作成して、プロキシ設定を設定/設定解除しました(Windows 10でテスト済み)。

  • workで、プロキシ設定を設定する必要があります。

    実行> ./proxy.ps1powershell

  • homeで、プロキシ設定を削除する必要があります。

    実行> ./proxy.disabled.ps1 PowerShell

proxy.ps1

# System Environment variable
$env:HTTP_PROXY = "http://proxyuser:[email protected]:8080"
$env:HTTPS_PROXY = "http://proxyuser:[email protected]:8080"
# Fix (some tools uses lowercase env variables)
$env:http_proxy = "http://proxyuser:[email protected]:8080"
$env:https_proxy = "http://proxyuser:[email protected]:8080"
# Git config
git config --global http.proxy http://proxyuser:[email protected]:8080
git config --global https.proxy http://proxyuser:[email protected]:8080
# Npm config
npm config set proxy http://proxyuser:[email protected]:8080
npm config set https-proxy http://proxyuser:[email protected]:8080
# Restart Windows
Restart-Computer -Confirm

proxy.disabled.ps1

# Delete System Environment variable
Remove-Item env:\HTTP_PROXY
Remove-Item env:\HTTPS_PROXY
Remove-Item env:\http_proxy
Remove-Item env:\https_proxy
# Reset Git Config
git config --global --unset http.proxy
git config --global --unset https.proxy
# Reset Npm Config
npm config --global delete proxy
npm config --global delete https-proxy
# Restart Windows
Restart-Computer -Confirm

[〜#〜] warning [〜#〜]:プロキシパスワードに特殊文字が含まれている場合は、プロキシURLをエンコードする必要があります。例:

[〜#〜] warning [〜#〜]:UNSET PROXY =>一部のバウワー設定は、.bowerrcファイルはC:\ Users \%USERNAME%にあります。他の言葉で、それがはたらかない場合、.bowerrcファイルがあるかどうか確認して下さい。次に、次のキーが存在する場合は削除します。

{
  ...
  "proxy": "http://proxyuser:[email protected]:8080",
  "https-proxy": "http://proxyuser:[email protected]:8080",
   ...
}

[〜#〜] warning [〜#〜]:UNSET PROXY =>一部のnmp/node設定は、npmrcファイルはC:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\node\etcにあります。他の言葉で、それがはたらかない場合、npmrcファイルがあるかどうか確認して下さい。次に、次のキーが存在する場合は削除します。

http_proxy="http://proxyuser:[email protected]:8080"
https_proxy="http://proxyuser:[email protected]:8080"

EtVoilà:)

1
rdhainaut

グローバルソリューションが必要な場合。

[〜#〜] warning [〜#〜]:異なるアプリケーションを介して複数のプロキシ設定に影響を与える可能性がありますが、確かに必要なものです:)

[〜#〜] note [〜#〜]プロキシ設定のusername:passwordに特殊文字が含まれている場合は、URLENCODEDする必要があります。例: http://DOMAIN%5Cuser+name%3AP%40%24%[email protected]:808

2つの環境変数を追加する必要があります。

Windows 10でそれを行うには:

  1. 開始
  2. 「システム環境変数の編集」を検索
  3. (システムプロパティの[詳細設定]タブで)[環境変数...]をクリックします。
  4. (システム変数で)「新規...」をクリックします
  5. 変数の作成(変数名:HTTP_PROXY、変数値: http:// proxyuser:[email protected]:808
  6. 変数の作成(変数名:HTTPS_PROXY、変数値: http:// proxyuser:[email protected]:808
  7. Windowsを再起動する
0
rdhainaut

フレンドリーなファイアウォール管理者がいる場合は、次のファイアウォールポリシーを定義することにより、外部のgitリポジトリへのアクセスを許可するよう依頼します。

TCP 9418(UDPは不要)

0
dataCore

コマンドラインからVSのBowerを実行with aホームフォルダー

@Rogerio Soaresの答えは良いものであり、多くの人がとても便利だと思うと思います(私自身も含めて)。

とはいえ、ここで作業できるのは、インストールできるツールが非常に制限されていることです(多くの人から許可を得ずに別のバージョンのBowerをインストールできないことを意味します)。さらに、私のホームディレクトリはz:\ポリシー別。 git config --globalを発行してgitを構成するたびに、構成設定はz:\.gitconfigに配置されます。この設定ファイルは、本格的なGit SCMを使用して問題なく使用できます。ただし、どうやら、libgit2sharp(Visual Studio 2015に組み込まれたGitのバージョンで使用)は、このファイルがc:\username\.gitconfigにある必要があります。

.gitconfigファイルをz:\からc:\username\にコピーした後、コマンドラインからVisual Studioのバージョンのbowerを直接実行できました。

0
Mike Atkisson