簡體   English   中英

企業代理后面的npm install gifsicle失敗或卡在Windows系統上

[英]npm install gifsicle behind corporate proxy failed or stuck at windows system

Windows 7,npm@3.10.3,node@v6.7.0

設置了npm和git以使用公司代理。 我花了一段時間才弄清楚git和npm如何使用公司代理,幸運的是,它成功完成了。 npm配置文件(.npmrc)如下所示:

strict-ssl=false
proxy=http://domain%5Cmyname:mypassword@corporateproxy:8088/
http-proxy=http://domain%5Cmyname:mypassword@corporateproxy:8088/
https-proxy=http://domain%5Cmyname:mypassword@corporateproxy:8088/
cache-lock-wait=30000
cache-lock-retries=10
cache-lock-stale=300000

開始安裝

npm install gifsicle --verbose

這是日志記錄:

C:\temp\2018_0110\estatico>npm install gifsicle --verbose
npm info it worked if it ends with ok
npm verb cli [ 'C:\\temp\\TOOLS\\PortableNode\\node.exe',
npm verb cli   'C:\\temp\\TOOLS\\PortableNode\\node_modules\\npm\\bin\\npm-cli.j
s',
npm verb cli   'install',
npm verb cli   'gifsicle',
npm verb cli   '--verbose' ]
npm info using npm@3.10.3
npm info using node@v6.7.0
npm verb request uri https://registry.npmjs.org/gifsicle
npm verb request no auth needed
npm info attempt registry request try #1 at 09:00:29
npm verb request id 7014dcca318052d1
npm verb etag "5a108ad8-73b8"
npm verb lastModified Sat, 18 Nov 2017 19:32:40 GMT
npm http request GET https://registry.npmjs.org/gifsicle
npm http 304 https://registry.npmjs.org/gifsicle
npm verb headers { date: 'Wed, 17 Jan 2018 08:00:14 GMT',
npm verb headers   via: '1.1 varnish',
npm verb headers   'cache-control': 'max-age=300',
npm verb headers   etag: '"5a108ad8-73b8"',
npm verb headers   age: '13585',
npm verb headers   connection: 'close',
npm verb headers   'x-served-by': 'cache-hhn1546-HHN',
npm verb headers   'x-cache': 'HIT',
npm verb headers   'x-cache-hits': '10',
npm verb headers   'x-timer': 'S1516176014.461012,VS0,VE0',
npm verb headers   vary: 'Accept-Encoding, Accept' }
npm verb etag https://registry.npmjs.org/gifsicle from cache
npm verb get saving gifsicle to C:\Users\MYUSERHOME\AppData\Roaming\npm-cach
e\registry.npmjs.org\gifsicle\.cache.json
npm verb correctMkdir C:\Users\MYUSERHOME\AppData\Roaming\npm-cache correctM
kdir not in flight; initializing
npm verb cache add spec gifsicle
npm verb addNamed "latest" is being treated as a dist-tag for gifsicle
npm info addNameTag [ 'gifsicle', 'latest' ]
npm verb addNameTag registry:https://registry.npmjs.org/gifsicle not in flight;
fetching
npm verb get https://registry.npmjs.org/gifsicle not expired, no request
npm verb addNamed "3.0.4" is a plain semver version for gifsicle
npm verb afterAdd C:\Users\MYUSERHOME\AppData\Roaming\npm-cache\gifsicle\3.0
.4\package\package.json not in flight; writing
npm verb correctMkdir C:\Users\MYUSERHOME\AppData\Roaming\npm-cache correctM
kdir not in flight; initializing
npm verb afterAdd C:\Users\MYUSERHOME\AppData\Roaming\npm-cache\gifsicle\3.0
.4\package\package.json written
npm verb correctMkdir C:\Users\MYUSERHOME\AppData\Roaming\npm-cache\_locks c
orrectMkdir not in flight; initializing
npm verb lock using C:\Users\MYUSERHOME\AppData\Roaming\npm-cache\_locks\sta
ging-fdad36d07e8f1a67.lock for C:\temp\2018_0110\estatico\node_modules\.staging
npm verb unbuild node_modules\.staging\gifsicle-c326b995
npm verb gentlyRm don't care about contents; nuking C:\temp\2018_0110\estatico\n
ode_modules\.staging\gifsicle-c326b995
npm verb tar unpack C:\Users\MYUSERHOME\AppData\Roaming\npm-cache\gifsicle\3
.0.4\package.tgz
npm verb tar unpacking to C:\temp\2018_0110\estatico\node_modules\.staging\gifsi
cle-c326b995
npm verb gentlyRm don't care about contents; nuking C:\temp\2018_0110\estatico\n
ode_modules\.staging\gifsicle-c326b995
npm verb gentlyRm don't care about contents; nuking C:\temp\2018_0110\estatico\n
ode_modules\.staging\gifsicle-c326b995\node_modules
npm info lifecycle gifsicle@3.0.4~preinstall: gifsicle@3.0.4
npm info linkStuff gifsicle@3.0.4
npm verb linkBins gifsicle@3.0.4
npm verb link bins [ { gifsicle: 'cli.js' },
npm verb link bins   'C:\\temp\\2018_0110\\estatico\\node_modules\\.bin',
npm verb link bins   false ]
npm verb linkMans gifsicle@3.0.4
npm info lifecycle gifsicle@3.0.4~install: gifsicle@3.0.4
npm info lifecycle gifsicle@3.0.4~postinstall: gifsicle@3.0.4

> gifsicle@3.0.4 postinstall C:\temp\2018_0110\estatico\node_modules\gifsicle
> node lib/install.js

1.)安裝在gifsicle@3.0.4安裝后腳本'node lib / install.js'上停留了很長時間。

2.)15分鍾或更長時間后下一條消息

  ‼ tunneling socket could not be established, cause=read ECONNRESET
  ‼ gifsicle pre-build test failed
  i compiling from source

3.)最后一條消息

× RequestError: tunneling socket could not be established, cause=socket hang u
p
    at ClientRequest.<anonymous> (C:\temp\2018_0110\estatico\node_modules\got\in
dex.js:74:21)
    at ClientRequest.g (events.js:291:16)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at ClientRequest.onError (C:\temp\2018_0110\estatico\node_modules\caw\node_m
odules\tunnel-agent\index.js:178:21)
    at ClientRequest.g (events.js:291:16)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at TLSSocket.socketErrorListener (_http_client.js:308:9)
    at emitOne (events.js:96:13)
npm verb lifecycle gifsicle@3.0.4~postinstall: unsafe-perm in lifecycle true
npm verb lifecycle gifsicle@3.0.4~postinstall: PATH: C:\temp\TOOLS\PortableNode\
node_modules\npm\bin\node-gyp-bin;C:\temp\2018_0110\estatico\node_modules\gifsic
le\node_modules\.bin;C:\temp\2018_0110\estatico\node_modules\.bin;C:\temp\TOOLS\
PortableNode;C:\temp\TOOLS\PortableNode;C:\temp\TOOLS\PortableGit\cmd;C:\Program
 Files (x86)\MQSeries Client\Java\lib;C:\ProgramData\Oracle\Java\javapath;C:\Win
dows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow
erShell\v1.0\;C:\Program Files (x86)\CTV_V7_E-I\isiscomm\w3\lib;C:\Program Files
 (x86)\MQSeries Client\bin64;C:\Program Files (x86)\MQSeries Client\bin;C:\Progr
am Files (x86)\MQSeries Client\tools\c\samples\bin;C:\Program Files\Citrix\Syste
m32\;C:\Program Files\Citrix\ICAService\;C:\Program Files (x86)\UltraEdit\;C:\Pr
ogram files\IBM\sqllib\bin;C:\Program files\IBM\sqllib\funtion;C:\Program Files
(x86)\Subversion;C:\Program Files\TortoiseSVN\bin;C:\Users\MYUSERHOME\.dnx\b
in;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\8.1\
Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\120\Tools\Bin
n\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\
McAfee\MOVE AV Client\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Fi
les (x86)\TAA\taaseu;C:\Program Files (x86)\UltraEdit
npm verb lifecycle gifsicle@3.0.4~postinstall: CWD: C:\temp\2018_0110\estatico\n
ode_modules\gifsicle
npm verb unlock done using C:\Users\MYUSERHOME\AppData\Roaming\npm-cache\_lo
cks\staging-fdad36d07e8f1a67.lock for C:\temp\2018_0110\estatico\node_modules\.s
taging
estatico@5.0.0 C:\temp\2018_0110\estatico
`-- gulp-imagemin@3.0.3
  `-- imagemin-gifsicle@5.2.0
    `-- gifsicle@3.0.4

npm verb exit [ 0, true ]
npm info ok

而安裝node-gyp將被觸發,並且似乎npm中未使用代理設置。

我可以在另一台計算機上和在直接連接中成功安裝gifsicle,而不會出現任何問題。

問:有人成功在企業代理后面安裝了Gifsicle,請告訴我它是如何完成的?

編輯:這是至少卡住的部分。 C:\\ temp \\ estatico \\ node_modules \\ gifs \\ lib>節點install.js-詳細

'use strict';
var BinBuild = require('bin-build');
var log = require('logalot');
var bin = require('./');

bin.run(['--version'], function (err) {
    if (err) {
        log.warn(err.message);
        log.warn('gifsicle pre-build test failed');
        log.info('compiling from source');

        var cfg = [
            './configure --disable-gifview --disable-gifdiff',
            '--prefix="' + bin.dest() + '" --bindir="' + bin.dest() + '"'
        ].join(' ');

        var builder = new BinBuild()
            .src('https://github.com/kohler/gifsicle/archive/v1.88.tar.gz')
            .cmd('autoreconf -ivf')
            .cmd(cfg)
            .cmd('make install');

        return builder.run(function (err) {
            if (err) {
                log.error(err.stack);
                return;
            }

            log.success('gifsicle built successfully');
        });
    }

    log.success('gifsicle pre-build test passed successfully');
});

要通過防火牆安裝npm軟件包,我發現我需要設置代理環境變量而不是使用npm config 不同版本的npm似乎已經改變了一點。 我目前設置了“ http_proxy”和“ https_proxy”,這似乎涵蓋了我使用的所有npm版本。

我沒有用過gifsicle

對於大多數軟件包,我都遇到過不完全相同的類似問題。npm install命令。 我落后於公司代理。 為此,我嘗試了許多沒有用的解決方案。 最后我做到了

嘗試在cmd中運行以下命令,將npm config設置為https-proxy“ http:// your_companyproxy_here:8080

然后它將正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM