NPMは依存関係をインストールしませんか?


8

npm install -d定義されたpackage.jsonファイルのあるプロジェクトディレクトリにNPMが依存関係をインストールするのに問題があります。

これが私のものpackage.jsonです:https//gist.github.com/3068312

プロジェクトルートのノードモジュールフォルダー(rm -rf node_modules)をワイプした後、プロジェクトルートで実行するnpm install -dと、次のようになります。

(ssh) /vagrant git:master ❯ npm install -d                                                                                                                                                                  
npm info it worked if it ends with ok
npm info using npm@1.1.4
npm info using node@v0.6.12
npm info preinstall redeye@0.0.1
npm http GET https://registry.npmjs.org/sinon
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/mocha
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/sinon
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/mocha
npm http 304 https://registry.npmjs.org/request
npm info into /vagrant underscore@1.3.3
npm info into /vagrant mocha@1.3.0
npm info into /vagrant sinon@1.3.4
npm info into /vagrant request@2.9.203
npm info installOne underscore@1.3.3
npm info installOne mocha@1.3.0
npm info installOne sinon@1.3.4
npm info installOne request@2.9.203
npm info unbuild /vagrant/node_modules/underscore
npm info unbuild /vagrant/node_modules/mocha
npm info unbuild /vagrant/node_modules/sinon
npm info unbuild /vagrant/node_modules/request
npm ERR! error installing underscore@1.3.3
npm info unbuild /vagrant/node_modules/underscore
npm ERR! error rolling back underscore@1.3.3 Error: UNKNOWN, unknown error '/vagrant/node_modules/underscore'

npm ERR! Error: ENOENT, no such file or directory '/vagrant/node_modules/underscore/package.json'
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /vagrant/npm-debug.log npm
npm ERR! 
npm ERR! System Linux 3.2.0-23-generic
npm ERR! command "node" "/usr/bin/npm" "install" "-d"
npm ERR! cwd /vagrant
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! path /vagrant/node_modules/underscore/package.json
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory '/vagrant/node_modules/underscore/package.json'
npm ERR! errno {}
npm ERR! error installing request@2.9.203
npm info unbuild /vagrant/node_modules/request
npm ERR! error rolling back request@2.9.203 Error: UNKNOWN, unknown error '/vagrant/node_modules/request'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /vagrant/npm-debug.log
npm not ok

を再実行するnpm install -dと、エラーは次のパッケージの内容に変わります。何度も繰り返し実行すると、最終的には文句を言わずに出力されます。

(ssh) /vagrant git:master ❯ npm install -d                                                                                                                                                               
npm info it worked if it ends with ok
npm info using npm@1.1.4
npm info using node@v0.6.12
npm info preinstall redeye@0.0.1
npm info build /vagrant
npm info linkStuff redeye@0.0.1
npm info install redeye@0.0.1
npm info postinstall redeye@0.0.1
npm info ok

ただし、これらのパッケージのいずれの依存関係もインストールされません。たとえば、cheerioにはいくつかの依存関係があるため、テストスイートを実行しようとすると、次のように迎えられます。

(ssh) /vagrant git:master ❯ mocha --compilers coffee:coffee-script --watch spec/*                                                                                                                           


node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'cheerio-select'
    at Function._resolveFilename (module.js:332:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:354:17)

何ができますか?私はVagrant仮想ボックスでUbuntu Precise64を使用しています。

回答:


1

たぶん浮浪者とこの問題のシンボリックリンクに関連する何か問題:https : //github.com/isaacs/npm/issues/2380

試す

npm install --no-bin-link

ここでも説明されています:http : //www.conroyp.com/2013/04/13/symlink-shenanigans-nodejs-npm-express-vagrant/


Dockerチュートリアルprakhar.me/docker-curriculum/#dockerrunを試行し ているときにroot @ ip-172-31-22-20:〜/ docker-curriculum#docker build -t ashishkarpe / foodtrucks-webを実行すると、同じエラーが発生します。
Ashish Karpe 2017年

0

試しましたnpm cache cleanか?

先日、Qunitの依存関係をインストールしようとするのは大変でしたが、最初の実行でphantonjsがビルドに失敗したことが原因でしたが、再インストールに行ったとき、npmはバイナリを再フェッチせず、ただキャッシュされたものからビルドします。キャッシュを空にして再npm install実行すると、キャッシュが再フェッチされ、正常にビルドされました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.