2016-04-08 12 views
1

NPMパッケージを作成してテストしました。 NPN/Nodeは、npm installのネストされたnode_modulesフォルダにGruntJSの依存関係をインストールすると、ENOENTエラーをスローします。NPMからpackage.jsonがエラーをスローしました

私はエラーを作成する手順取る:package.jsonに記載されている

  • npm install pavilion
  • cd node_modules/pavilion
  • npm install

うなり声の依存関係をインストールし、...以下に示すようにエラーがスローされます。 PS。以下をお読みください。

npm ERR! Darwin 14.5.0 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v5.0.0 
npm ERR! npm v3.8.6 
npm ERR! path /Users/Baasdesign/Desktop/test/node_modules/pavilion/node_modules/.staging/pavilion-8a19d0be 
npm ERR! code ENOENT 
npm ERR! errno -2 
npm ERR! syscall rename 

npm ERR! enoent ENOENT: no such file or directory, rename '/Users/Baasdesign/Desktop/test/node_modules/pavilion/node_modules/.staging/pavilion-8a19d0be' -> '/Users/Baasdesign/Desktop/test/node_modules/pavilion' 
npm ERR! enoent ENOENT: no such file or directory, rename '/Users/Baasdesign/Desktop/test/node_modules/pavilion/node_modules/.staging/pavilion-8a19d0be' -> '/Users/Baasdesign/Desktop/test/node_modules/pavilion' 
npm ERR! enoent This is most likely not a problem with npm itself 
npm ERR! enoent and is related to npm not being able to find a file. 
npm ERR! enoent 
npm ERR! Darwin 14.5.0 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v5.0.0 
npm ERR! npm v3.8.6 
npm ERR! path npm-debug.log.575049388 
npm ERR! code ENOENT 
npm ERR! errno -2 
npm ERR! syscall open 

npm ERR! enoent ENOENT: no such file or directory, open 'npm-debug.log.575049388' 
npm ERR! enoent ENOENT: no such file or directory, open 'npm-debug.log.575049388' 
npm ERR! enoent This is most likely not a problem with npm itself 
npm ERR! enoent and is related to npm not being able to find a file. 
npm ERR! enoent 

npm ERR! Please include the following file with any support request: 
npm ERR!  /Users/Baasdesign/Desktop/test/node_modules/pavilion/npm-debug.log 

今、奇妙な部分です。 Bowerを使用してパッケージをインストールすると...エラーは発生しません。ここに私の手順は次のとおりです。

  • bower install pavilion
  • cd bower_components/pavilion
  • npm install

すべてがうまくインストールされます。違い? --->package.json。 bower install package.jsonが動作します。 NPMはそうしない。

Bowerは私にクリーンなパッケージを提供します.jsonは、自分で作成したもので、npmに公開します。 NPMインストールでは、そこにたくさんの情報があるpackage.jsonが表示されます。 bower package.jsonを使用すると、node_modulesフォルダのnpm package.jsonを貼り付けて置き換えても、すべてがうまくインストールされます。

ここにはどのような取引がありますか? npmのインストールで提供されたpackage.jsonが依存関係のインストールを混乱させるようです。ここで

はバウアーのpackage.jsonの配信です: http://pastebin.com/g8FgSDNG

そしてここでは、NPMのpackage.jsonの配信です: http://pastebin.com/xTiQ15ih

私はnpm cache cleanを試してみましたが、それは動作しませんでした。

のsysinfo:

  • OSXヨセミテ
  • ノード - 5.10.1
  • NPM - 3.8.6
+0

NPMは、通常、エラーメッセージがあなたに多く与えるものではありません。簡単なpackage.jsonを試してみて、そこから作業しましたか?私は問題を診断するために、単純なものから複雑なものへと常に取り組んでいます。 –

+0

うん。 bowerインストールに付属しているpackage.jsonははるかに簡単で、うまくいきます!しかし、私はそれもNPMで動作する必要があります:( –

答えて

1

ノードは素晴らしいですが、時には痛みをすることができます!

最近私はこのエラーが発生していましたが、以前のバージョンのノードにロールバックして問題が解決しました。

システムに少数のノード・バージョンを持たせるために以前のインストールを試してみることをお勧めします。また、バージョン間の切り替え方法も提供しています。

私はそれほど技術的な答えではないことを知っています。あなたの質問に特定の答えがあることを願っています!

[https://github.com/creationix/nvm]

はここでバージョン管理リンクは、それは問題は私がpackage.jsonで依存関係を保存していないということでした

+0

ありがとうございます。しかし、これは本当に効率的ではないのですか? –

0

役に立てば幸いです。 あなたがそうするならば、Nodeがパスを間違って取得すると思います。

だから、正しいワークフローは次のとおりです。

  • npm init(package.jsonを作成する)
  • npm install <package> --save-dev
  • cd node_modules/pavilion
  • npm install

そして、それが正常に動作します。 <package>は、親ディレクトリのpackage.jsonに追加する必要があります。

関連する問題