web-dev-qa-db-ja.com

gitがブロックされている、npmモジュールのインストール方法

私たちはプロキシを介して接続されており、ここではgitがブロックされています(ウェブサイトではなくgit //:で)プロキシあり、プロキシなし、単一のクローンなしで、egit、「git on windows」を試してみましたローカルに起こった。

今問題はnpmモジュールをインストールすることです、私はgit webから(web経由で)モジュール(Zip)をダウンロードして試し、ローカルインストールを試しましたが、うまくいきましたが、ここでの問題は多数の依存関係ですそれは簡単ではありませんモジュールを1つずつプルして、依存関係(および内部依存関係)を埋めます

この問題を解決するには、解決策を見つける方法が3つあると思います。

  • ファイアウォールを通過するgitトンネリングを許可します(n/wチームに友達がいません)。
  • Npmのインストール時に、依存関係を持つモジュールをhttp://(git://ではなく)でプルする方法を教えてください。
  • Git Webサイトのモジュールと完全な依存関係をシングルショットでダウンロードします。
28
sij

この回答からコピー https://stackoverflow.com/a/10729634/1095114


これがファイアウォールがgit:プロトコルポート(9418)をブロックしている問題である場合は、より永続的な変更を行う必要があります。そうすることで、すべてのgitリポジトリについて他の投稿で提案されているコマンドを発行する必要がなくなります。これは、git://プロトコルを使用している可能性のあるサブモジュールでも機能します。

次のコマンドを発行するだけです。

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

これは単に、次の2行を〜/ .gitconfigに追加します。

[url "https://"] insteadOf = git://

まるで魔法のように、すべてのgitコマンドはgit://からhttps://への置換を実行します

61
Noah

NpmとgitはWindowsプロキシ設定を使用しません。

次のもので構成できます。

set HTTP_PROXY=http://user:[email protected]:port

https://superuser.com/questions/347476/how-to-install-npm-behind-authentication-proxy-on-windows も参照してください


プロキシが機能しない場合は、npm installインターネットに直接接続されているマシン(例:dmzのサーバー、ホスティングプロバイダー、クラウドなど)でコピーし、node_modulesフォルダをローカルマシンに追加します。

1
laktak

Githubからリポジトリを複製するために、gitプロキシ設定が機能しました。しかし、git urlを使用するnpmモジュールをインストール/更新すると、タイムアウトエラーが発生します。私の回避策は、リポジトリの.git/configファイルにプロキシを手動で設定することでした。

[http]
    proxy = http://proxy.company.com:8888   

しかし、待ってください、もっとあります:これはいくつかのgit urlでは機能しましたが、他では機能しませんでした。 2番目の最後の回避策は、私のPCにドライブ上の共有ネットワークユーザーホームがあるため、両方のユーザー構成ファイルでgitプロキシが設定されていることを確認することでした。

I:\.gitconfig
C:\Users\<userid>\.gitconfig

このコメント へのクレジット。

0
Florin D