无法使用"npm install"在Node.js中安装任何软件包

Ido*_*ohn 45 node.js npm

我是Node.js的新手,我正在学习一些教程.出于某种原因,我无法安装任何新的节点模块.

我使用: 的Mac OSX 10.7.4, 节点U 0.8.6. , NPM v 1.1.48. .

我运行npm install X,我总是得到一个

npm ERR! fetch failed https://registry.npmjs.org/-/X
npm ERR! Error: 404 Not Found
Run Code Online (Sandbox Code Playgroud)

当我真正进入npmjs注册表时,我可以看到项目页面,但无论我点击哪个tarball链接,它总是一样的:

{
    "error": "not_found",
    "reason": "document not found"
}
Run Code Online (Sandbox Code Playgroud)

例如,我尝试安装FS运行NPM安装FS和获取:

npm http GET https://registry.npmjs.org/fs
npm http 200 https://registry.npmjs.org/fs
npm http GET https://registry.npmjs.org/-/fs-0.0.0.tgz
npm http 404 https://registry.npmjs.org/-/fs-0.0.0.tgz
npm ERR! fetch failed https://registry.npmjs.org/-/fs-0.0.0.tgz
npm ERR! Error: 404 Not Found
npm ERR!     at null.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/fetch.js:47:16)
npm ERR!     at EventEmitter.emit (events.js:115:20)
npm ERR!     at WriteStream.flush (fs.js:1514:12)
npm ERR!     at fs.close (/usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:92:5)
npm ERR!     at Object.oncomplete (fs.js:297:15)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Darwin 11.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "fs"
npm ERR! cwd /Users/comocomo/Documents/workspace/nodeTest
npm ERR! node -v v0.8.6
npm ERR! npm -v 1.1.48
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/comocomo/Documents/workspace/nodeTest/npm-debug.log
npm ERR! not ok code 0
Run Code Online (Sandbox Code Playgroud)

我试过fs,fs-extra,express和强大的,都给了我相同的404响应.我一定有些不对劲,我很确定整个注册表都没有被破坏.

我使用旧的注册表吗?我应该在配置文件中更改它吗?老实说,我宁愿不要手动开始安装,我相信这只是一个小配置问题.

谢谢!

小智 92

我发现有证书过期的问题:

npm set registry https://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)

所以我把它设为http,而不是https: -

npm set registry http://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)

到目前为止没有任何问题.

  • 这并不能解决我的问题.它仍然来自"https://registry.npmjs.org/".节点版本 - 0.12.7和npm版本"2.12.1"任何帮助? (3认同)
  • 不幸的是,没有解决我的问题。 (2认同)

fra*_*amp 10

存储库没有关闭,看起来他们已经改变了他们托管文件的方式(我猜他们已经恢复了一些旧代码):

现在你必须在 - 之前添加/ package-name/ -

例如:

http://registry.npmjs.org/-/npm-1.1.48.tgz
http://registry.npmjs.org/npm/-/npm-1.1.48.tgz
Run Code Online (Sandbox Code Playgroud)

有3种方法可以解决它:

  • 使用完整的镜子:
  • 使用公共代理:

    --registry http://165.225.128.50:8000

  • 托管本地代理:

    https://github.com/hughsk/npm-quickfix

git clone https://github.com/hughsk/npm-quickfix.git
cd npm-quickfix
npm set registry http://localhost:8080/
node index.js
Run Code Online (Sandbox Code Playgroud)

我会亲自去找3号并npm set registry http://registry.npmjs.org/在这个问题得到解决后立即恢复.

请继续关注更多信息:https://github.com/isaacs/npm/issues/2694


Ela*_*lad 6

Npm存储库当前已关闭。在npm github上查看问题#2694

编辑
在此同时使用镜像:

 npm set registry http://ec2-46-137-149-160.eu-west-1.compute.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

您可以稍后使用以下方法重置:

 npm set registry https://registry.npmjs.org/
Run Code Online (Sandbox Code Playgroud)

资源