2017-02-02 6 views
2

プロキシにNexus 3.0.1-01を使用していますhttps://registry.npmjs.org/ プロキシを含むグループをnpmjs.orgとローカルにホストされているnpmリポジトリに設定しました。ローカルのnpm-configではレジストリとしてNexusにnpmを指摘しています。 インターネットへの接続はすべて、当社の企業向けHTTPプロキシを通過します。Nexus 3のNTPプロキシがほとんど失敗する

Nexusでbower(例:npm install -g bower)などの「公開」依存関係を解決すると、10回中8回失敗します。私たちが公式のレジストリを指すとき、すべてが時間の100%正常に動作します。

エラーは次のようになります。

$ npm install -g bower 
npm ERR! Linux 3.13.0-107-generic 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "bower" 
npm ERR! node v4.3.2 
npm ERR! npm v2.14.12 

npm ERR! Cannot convert undefined or null to object 
npm ERR! 
npm ERR! If you need help, you may report this error at: 
npm ERR!  <https://github.com/npm/npm/issues> 

npm ERR! Please include the following file with any support request: 
npm ERR!  npm-debug.log 

は、デバッグログを見ると、私たちは、HTTP 404、その後、HTTP 304を取得し、インクルードは失敗してインストールします。

2 info using [email protected] 
3 info using [email protected] 
[...] 
21 http request GET http://nexus/repository/npm/bower 
22 http 404 http://nexus/repository/npm/bower 
23 verbose headers { date: 'Thu, 02 Feb 2017 08:32:35 GMT', 
23 verbose headers server: 'Nexus/3.0.1-01 (OSS)', 
23 verbose headers 'x-frame-options': 'SAMEORIGIN', 
23 verbose headers 'x-content-type-options': 'nosniff', 
23 verbose headers 'content-type': 'application/json', 
23 verbose headers 'content-length': '37', 
23 verbose headers 'x-cache': 'MISS from proxy', 
23 verbose headers 'x-cache-lookup': 'HIT from proxy:3128', 
23 verbose headers connection: 'keep-alive' } 
24 silly get cb [ 304, undefined ] 
25 verbose get saving undefined to /user/.npm/nexus/repository/npm/bower/.cache.json 
26 silly addNameTag next cb for bower with tag latest 
27 verbose stack TypeError: Cannot convert undefined or null to object 
27 verbose stack  at Function.keys (native) 
27 verbose stack  at installTargetsError (/usr/lib/node_modules/npm/lib/cache/add-named.js:273:24) 
27 verbose stack  at next (/usr/lib/node_modules/npm/lib/cache/add-named.js:94:10) 
27 verbose stack  at RES (/usr/lib/node_modules/npm/node_modules/inflight/inflight.js:23:14) 
27 verbose stack  at f (/usr/lib/node_modules/npm/node_modules/once/once.js:17:25) 
27 verbose stack  at fixName (/usr/lib/node_modules/npm/lib/cache/add-named.js:29:5) 
27 verbose stack  at saved (/usr/lib/node_modules/npm/lib/cache/caching-client.js:173:7) 
27 verbose stack  at /usr/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:210:7 
27 verbose stack  at FSReqWrap.oncomplete (fs.js:82:15) 

私が言ったように、私たちは何回かインストールを繰り返すことができ、結局それは動作します。 https://registry.npmjs.org/トラフを使用すると、プロキシは正常に動作します。

Nexusレジストリ(プロキシ)として使用するとうまくいくNexus 2.11.3-01もあります。

Sonatype JIRAを検索しましたが、これがNexus 3の問題であるかどうかのヒントは見つかりませんでした。

ご迷惑をおかけして申し訳ありません。

+0

どのバージョンのnpm/nodeとosを使用していますか?問題を再現するのに役立ちます。 – DarthHater

+0

最新(3.2.0)にアップグレードして、この問題があるかどうか確認できますか? – joedragons

+0

私はさらに調査を行った。 1つの問題は、npmが毎回レジストリにアクセスしないことです。もう1つは、明らかにnpmがかなりの時間「見つからない」結果をキャッシュすることです。 解決するたびにキャッシュを無効にした後も、問題は残ります。解決は2回実行され、失敗(404)した後2回失敗して失敗します。 npm 1.3.10を使用します。このバージョンはno_proxy変数を認識していないので、解決は次のようになります。 npm =>プロキシ=> nexus =>プロキシ=> npmjs.org ここではプロキシと思われます... – Bebef

答えて

0

私はこれを解決できました。

イカの奇妙なバグだった。キャッシング構成の一部の変更が解決された後、現在は正常に機能します。

寄付いただきありがとうございました!

関連する問題