49

Node.js は初めてで、いくつかのチュートリアルを行っています。何らかの理由で、新しいノード モジュールをインストールできません。

私が使用して いるのは、 Mac OSX 10.7.4Node v. 0.8.6NPM v. 1.1.48です。

npm install X を実行すると、常に

npm ERR! fetch failed https://registry.npmjs.org/-/X
npm ERR! Error: 404 Not Found

実際に npmjs レジストリにアクセスすると、プロジェクト ページが表示されますが、どの tarball リンクをクリックしても、常に同じです。

{
    "error": "not_found",
    "reason": "document not found"
}

たとえば、npm install fsを実行して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

fs、fs-extra、express、および formidable を試しましたが、すべて同じ 404 応答が返されました。私の側に何か問題があるに違いありません。レジストリ全体が壊れていないことは確かです。

古いレジストリを使用していますか? 構成ファイルで変更する必要がありますか? 正直なところ、手動​​でインストールを開始したくはありません。これは構成上の小さな問題に過ぎないと確信しています。

ありがとう!

4

7 に答える 7

96

証明書の期限切れの問題があることがわかりました:

npm set registry https://registry.npmjs.org/

だから私はそれをhttpsではなくhttpにしました:-

npm set registry http://registry.npmjs.org/

そして今のところ問題はありません。

于 2013-09-09T00:10:59.730 に答える
10

リポジトリはダウンしていません。ファイルをホストする方法を変更したようです (古いコードを復元したと思います)。

- の前に /package-name/ を追加する必要があります。

例えば:

http://registry.npmjs.org/-/npm-1.1.48.tgz
http://registry.npmjs.org/npm/-/npm-1.1.48.tgz

それを解決するには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

私は個人的に3番に行きnpm set registry http://registry.npmjs.org/、これが解決されたらすぐに戻ります.

詳細については、こちらをご覧ください: https://github.com/isaacs/npm/issues/2694

于 2012-08-12T12:02:29.780 に答える
9

Npm リポジトリは現在ダウンしています。npm github の問題#2694を参照してください

編集
その間にミラーを使用するには:

 npm set registry http://ec2-46-137-149-160.eu-west-1.compute.amazonaws.com

後でこれをリセットできます:

 npm set registry https://registry.npmjs.org/

ソース

于 2012-08-12T11:23:46.753 に答える
1
npm set registry http://85.10.209.91/

(このプロキシは、registry.npmjs.org から元のデータを取得し、tarball の URL を操作して、tarball ファイル構造の問題を修正します)。

他のソリューションのバージョンは古いようです。

于 2012-08-12T14:17:52.827 に答える