在某个时候,我的NPM版本停止了工作。这似乎发生在几周前,我试图更新npm (从1.4个节点发布到一个现代2.x版本),而且情况一直在恶化。在节点目录之前,我必须更改Environment变量以指向我的npm目录(获取新版本的npm),此时一切都停止工作了。我切换回了环境变量,然后更新就会挂起。但奇怪的是,当我尝试调试它并向命令中添加一个-详细的命令时,更新大部分时间都是工作的。有时他们会挂在
npm http GET https://registry.npmjs.org/PACKAGE_NAME但大多数时候他们都在工作。现在,在我安装的旧版本的NPM (1.4.1)和新版本(2.1.17)中,所有的东西都会在GET命令上失败(通常,但不总是第一个)。我点击缓存-清除,我删除了临时目录,我尝试删除%APPDATA/漫游/npm/,并重新安装所有的东西。我没有代理,但我已经运行了:
npm config set proxy若要将代理设置为空白,请执行以下操作。我已经将注册表设置为http (而不是https),并将严格-ssl设置为false。我已经卸载并重新安装了nodejs,没有运气。我尝试过从admin cmd提示符而不是普通命令提示符运行这些命令,但都没有效果。我的想法已经用完了,我真的需要国家预防机制来运作.
下面是清除了%APPDATA/漫游/npm目录后尝试安装grunt-cli的输出:
C:\Users\Kris Erickson>npm install -g grunt-cli --verbose
npm info it worked if it ends with ok
npm verb cli [ 'C:\\Program Files\\nodejs\\\\node.exe',
npm verb cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
npm verb cli 'install',
npm verb cli '-g',
npm verb cli 'grunt-cli',
npm verb cli '--verbose' ]
npm info using npm@1.4.28
npm info using node@v0.10.35
npm verb node symlink C:\Program Files\nodejs\\node.exe
npm verb cache add [ 'grunt-cli', null ]
npm verb cache add name=undefined spec="grunt-cli" args=["grunt-cli",null]
npm verb parsed url { protocol: null,
npm verb parsed url slashes: null,
npm verb parsed url auth: null,
npm verb parsed url host: null,
npm verb parsed url port: null,
npm verb parsed url hostname: null,
npm verb parsed url hash: null,
npm verb parsed url search: null,
npm verb parsed url query: null,
npm verb parsed url pathname: 'grunt-cli',
npm verb parsed url path: 'grunt-cli',
npm verb parsed url href: 'grunt-cli' }
npm verb lock grunt-cli C:\Users\Kris Erickson\AppData\Roaming\npm-cache\671ef8ac-grunt-cli.lock
npm verb addNamed [ 'grunt-cli', '' ]
npm verb addNamed [ null, '*' ]
npm verb lock grunt-cli@ C:\Users\Kris Erickson\AppData\Roaming\npm-cache\d63f3d0b-grunt-cli.lock
npm verb request where is /grunt-cli
npm verb request registry https://registry.npmjs.org/
npm verb request id dc44ca4b260df8c3
npm verb url raw /grunt-cli
npm verb url resolving [ 'https://registry.npmjs.org/', './grunt-cli' ]
npm verb url resolved https://registry.npmjs.org/grunt-cli
npm verb request where is https://registry.npmjs.org/grunt-cli
npm info trying registry request attempt 1 at 13:36:28
npm http GET https://registry.npmjs.org/grunt-cli
/注意:旋转器从未停止过(至少我已经离开了10分钟,什么也没有发生)。
发布于 2015-01-30 13:40:09
看起来您可能已经安装了一个新的npm,但实际上并没有使用它(或者您是否恢复到1.4.28?)
在任何一种情况下,请按照这里的说明https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows更新到Windows上的最新npm。最新数据为2.4.1。我建议使用备选方案3。
然后尝试以最大的详细程度运行您的npm install命令:
npm -ddd install -g grunt-cli
并将您的日志文件作为gist https://gist.github.com上传到这里,或者作为https://github.com/npm/npm/issues的新问题上传,我们将帮助您解决这一问题。
发布于 2015-02-02 10:17:18
发布于 2015-07-05 06:08:09
我正在运行windows 8.1中的节点。这个问题出现在一台新机器上,我花了几个小时寻找解决方案,但没有成功。终于来了。绝望的时候,我用了个小提琴手,试图看看npm在打什么电话,问题神奇地消失了。
在进一步的调查中,我发现npm似乎需要设置两个windows环境变量:
在运行npm之前,在命令提示符中尝试以下操作(注意:如果您实际上在代理后面,那么用代理地址替换空引号):
Setx http_proxy ""
Setx https_proxy ""https://stackoverflow.com/questions/28141968
复制相似问题