私が背後にいるファイアウォールは、NTLMのみのモードでMicrosoftISAサーバーを実行しています。Ruby SSPI gemまたは他の方法でRubygemをインストール/更新することに成功した人はいますか?
...または私はただ怠惰ですか?
注:rubysspi-1.2.4は機能しません。
これは、IronRubyプロジェクトの一部である「igem」でも機能します
Windows OS では、Fiddler を使用してこの問題を回避しました。
gem を実行します。
$ gem install --http-proxy http://localhost:8888 $gem_name
コマンドラインスイッチからは動作させることができませんでしたが、HTTP_PROXY
環境変数を設定するだけで動作させることができました。(ケースが重要であるように思われることに注意してください)。次のような行を含むバッチファイルがあります。
SET HTTP_PROXY=http://%USER%:%PASSWORD%@%SERVER%:%PORT%
明らかにこの行に到達する前に、4つの参照変数を設定しました。たとえば、ユーザー名が「wolfbyte」の場合、パスワードは「secret」で、プロキシは「pigsy」と呼ばれ、ポート8080で動作します。
SET HTTP_PROXY=http://wolfbyte:secret@pigsy:8080
マシンのセッションでパスワードがプレーンテキストで保存されるため、管理方法に注意する必要があるかもしれませんが、それほど問題にはならないと思います。
これは完全に機能しました:
gem install --http-proxy http://COMPANY.PROXY.ADDRESS $gem_name
仕事でcntlm ( http://cntlm.sourceforge.net/ ) を使用しています。構成は ntlmaps に非常に似ています。
うまく機能し、Ubuntu ボックスを ISA プロキシに接続することもできます。
詳細については、 http://cntlm.wiki.sourceforge.net/をご覧ください。
私はこれらの解決策のいくつかを試しましたが、どれもうまくいきませんでした。私はついに私のために働く解決策を見つけました:
gem install -p http://proxy_ip:proxy_port rails
パラメータを使用し-p
てプロキシを渡します。Gemバージョン1.9.1を使用しています。
プロキシ経由での認証に問題がある場合は、環境変数を次の形式で正確に設定してください。
set HTTP_PROXY=some.proxy.com
set HTTP_PROXY_USER=user
set HTTP_PROXY_PASS=password
構文が機能していないようで、user:password@
スタック オーバーフローやさまざまなフォーラムの投稿に不適切な名前の環境変数が散らばっています。
また、gem のダウンロードが開始されるまでに時間がかかる場合があることにも注意してください。最初はうまくいかないと思っていましたが、少しの忍耐で期待どおりにダウンロードを開始しました。
上記の解決策をすべて試しましたが、どれもうまくいきませんでした。Linux/macOS を使用している場合は、ssh トンネル経由で tsocks を使用することを強くお勧めします。このセットアップを機能させるために必要なのは、ssh 経由でログインできるマシンと、それに加えて tsocks というプログラムがインストールされていることです。
ここでのアイデアは、SSH (socks5 プロキシ) 経由で動的トンネルを作成することです。次に、このトンネルを使用してアプリケーションを開始するように tsocks を構成します。この場合は次のようになります。
tsocks gem install ...
またはRails 3.0を説明するには:
tsocks bundle install
より詳細なガイドは、次の場所にあります。
http://blog.byscripts.info/2011/04/bypass-a-proxy-with-ssh-tunnel-and-tsocks-under-ubuntu/
Ubuntu 用に書かれていますが、手順はすべての Unix ベースのマシンに適用できるはずです。Windows の tsocks に代わるものは FreeCap ( http://www.freecap.ru/eng/ ) です。Windows で実行可能な SSH クライアントはパテと呼ばれます。
このトピックに関する投稿はたくさんあります。他の人がさまざまな解決策を試す時間を節約できるように、私の何時間もの試行錯誤の最終結果を以下に示します。
現時点でインターネットに関する 3 つのソリューションは次のとおりです。 rubysspi apserver cntlm
rubysspi は、Win32Api ライブラリに依存しているため、Windows マシン (AFAIK) からのみ動作します。そのため、プロキシ経由で実行しようとしている Windows ボックスを使用している場合は、これが解決策です。Linux ディストリビューションを使用している場合は、運が悪いです。
apserver は死んだプロジェクトのようです。私が見た投稿にリストされているリンクは、sourceforge の 404 ページにつながります。sourceforge で「apserver」を検索しても何も返されません。
私が見た cntlm の sourceforge リンクはhttp://cntlm.awk.cz/にリダイレクトされますが、タイムアウトします。sourceforge で検索すると、このリンクが見つかります。これは機能します: http://sourceforge.net/projects/cntlm/
cntlm をダウンロードして構成した後、プロキシ経由で gem をインストールできたので、これが Linux ディストリビューションに最適なソリューションのようです。
回避策は、ローカルマシンにhttp://web.archive.org/web/20060913093359/http://apserver.sourceforge.net:80/をインストールし、それを構成して、このプロキシを介してgemを実行することです。
PARENT_PROXY
ますPARENT_PROXY_PORT
。DOMAINとUSERの値を入力します。パスワードを空白のままにします(コロンの後には何もありません)–起動時にプロンプトが表示されます。cd aps097; python main.py
gem install—http-proxy http://localhost:5865/ library
私はプロキシの背後で作業しており、http://rubygems.orgから直接ダウンロードして SASS をインストールしました。
それから私は走りましsudo gem install [path/to/downloaded/gem/file]
た。これがすべてのgemでうまくいくとは言えませんが、一部の人には役立つかもしれません.
これは、Windowsボックスでうまくいきました:
set HTTP_PROXY=http://server:port
set HTTP_PROXY_USER=username
set HTTP_PROXY_PASS=userparssword
set HTTPS_PROXY=http://server:port
set HTTPS_PROXY_USER=username
set HTTPS_PROXY_PASS=userpassword
必要なときに環境値を設定するために使用するこれらの行を含むバッチ ファイルがあります。
私の場合、トリックはHTTPS_PROXY
セットでした。それらがないと、常に 407 プロキシ認証エラーが発生します。
*nix システムを使用している場合は、次を使用します。
export http_proxy=http://${proxy.host}:${port}
export https_proxy=http://${proxy.host}:${port}
そして試してください:
gem install ${gem_name}
SOCKS5 プロキシを使用する場合は、 rubygems-socksproxy https://github.com/gussan/rubygems-socksproxyを試してください。
OSX 10.9.3で動作します。
プロキシの背後にある場合は、Ruby ダウンロードに移動して [ダウンロード] をクリックすると、指定した更新 (または Gem ) が目的の場所にダウンロードされます。
次に、Ruby コマンド ラインを使用して、次のコマンドを使用してダウンロードした場所に移動します。pushd [directory]
例:pushd D:\Setups
次に、次のコマンドを実行します。gem install [update name] --local
例: gem install rubygems-update --local
.
Ruby アップデート バージョン 2.4.1 を適用した Windows 7 でテスト済み。
確認するには、次のコマンドを使用します。ruby -v