Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing packages with NPM results in a dependency loop

Basic Information:

System: OS X 10.9.2
Npm version: 1.4.9
Node version: v0.10.28
Ruby Version : ruby ​2.1.1p76 ( 2/24/2014 Revision 45161 ) [ x86_64- darwin12.0 ]

What happens is that when I run the npm install -g bower or sudo nom install -g command or bower becomes a loop with errors but unfinished, performs rollback and start again (I guess).

Also happens to be set to download other dependencies such as karma, mocha, chai ( I do not know if will be dependencies of bower) but the problem is not only that, but it happens to try to install any dependencies exam: yeoman, grunt, etc…

I’ve tried the following commands but the problem persists:

npm cache clean
npm cache clear

This is a part - debug.log npm file :

32016 verbose etag " 9CS1TTNJ9VSLF7WEYXSRZ8EMQ "
32017 http GET https://registry.npmjs.org/grunt-contrib-jshint
32018 gunzTarPerm extractEntry silly example / test / test- example.js
32019 gunzTarPerm extractEntry silly lib / main.js
32020 gunzTarPerm extractEntry silly lib / tap -browser- harness.js
32021 gunzTarPerm extractEntry silly lib / tap- consumer.js
32022 gunzTarPerm extractEntry silly lib / tap -cov - html.js
32023 gunzTarPerm extractEntry silly lib / tap- assert.js
32024 gunzTarPerm extractEntry silly lib / tap- harness.js
32025 gunzTarPerm extractEntry silly lib / tap- producer.js
32026 gunzTarPerm extractEntry silly lib / tap- results.js
32027 gunzTarPerm extractEntry silly lib / tap- runner.js
32028 gunzTarPerm extractEntry silly lib / tap- test.js
32029 gunzTarPerm extractEntry silly lib / tap -global- harness.js
32030 gunzTarPerm silly extractEntry AUTHORS
32031 gunzTarPerm silly extractEntry coverage-example/lib/bar.js
32032 gunzTarPerm silly extractEntry coverage-example/lib/foo.js
32033 gunzTarPerm silly extractEntry coverage-example/test/bar.test.js
32034 gunzTarPerm silly extractEntry coverage-example/test/baz.test.js
32035 gunzTarPerm silly extractEntry coverage-example/test/foo.test.js
32036 gunzTarPerm silly extractEntry bin / tap- http.js
32037 gunzTarPerm silly extractEntry bin / tap- reader.js
32038 gunzTarPerm silly extractEntry bin / tap.js
32039 gunzTarPerm extractEntry silly test / buffer_compare.js
32040 gunzTarPerm extractEntry silly test / expose- gc- test.js
32041 gunzTarPerm extractEntry silly test / independent- timeouts.js
32042 gunzTarPerm extractEntry silly test / isolated- conf- test.js
32043 gunzTarPerm extractEntry silly test / meta- test.js
32044 gunzTarPerm extractEntry silly test / timeout.js
32045 gunzTarPerm extractEntry silly test / common.js
32046 gunzTarPerm extractEntry silly test / test- test.js
32047 gunzTarPerm extractEntry silly test / output- childtest - description.js
32048 gunzTarPerm extractEntry silly test / result - trap.js
32049 gunzTarPerm extractEntry silly test / segv.js
32050 extractEntry test gunzTarPerm silly / trivial - success.js
32051 gunzTarPerm extractEntry silly test / single - test- harness- with- plan.js
32052 gunzTarPerm extractEntry silly test / deep.js
32053 gunzTarPerm extractEntry silly test / single - harness- test.js
32054 gunzTarPerm extractEntry silly test / nested- test.js
32055 gunzTarPerm extractEntry silly test / undefined_indented.js
32056 gunzTarPerm extractEntry silly test / non -tap- output.js
32057 gunzTarPerm extractEntry silly test / not- executed.sh
32058 gunzTarPerm extractEntry silly test / executed.sh
32059 gunzTarPerm extractEntry silly test / end -exception / t.js
32060 gunzTarPerm silly extractEntry test-disabled/bailout.js
32061 gunzTarPerm silly extractEntry test-disabled/foo.js
32062 gunzTarPerm silly extractEntry test-disabled/t.js
32063 gunzTarPerm silly extractEntry node_modules / inherits / package.json
32064 gunzTarPerm silly extractEntry node_modules / inherits / README.md
32065 gunzTarPerm silly extractEntry node_modules / inherits / LICENSE
32066 gunzTarPerm silly extractEntry node_modules / inherits / inherits - old.js
32067 gunzTarPerm silly extractEntry node_modules / inherits / inherits.js
32068 gunzTarPerm silly extractEntry node_modules / yamlish / package.json
32069 gunzTarPerm silly extractEntry node_modules / yamlish / README.md
32070 gunzTarPerm silly extractEntry node_modules / yamlish / LICENSE
32071 gunzTarPerm silly extractEntry node_modules / yamlish / yamlish.js
32072 gunzTarPerm extractEntry silly . Travis.yml
32073 gunzTarPerm silly extractEntry History.md
32074 gunzTarPerm extractEntry silly example / defined.js
32075 gunzTarPerm modified silly mode [ ' example / defined.js ' , 438, 420]
32076 gunzTarPerm silly extractEntry readme.markdown
32077 gunzTarPerm modified silly mode [ ' readme.markdown ' , 438, 420]
Http 32078 200 https://registry.npmjs.org/should/-/should-1.2.2.tgz
304 32079 http https://registry.npmjs.org/tape
32080 registry.get silly cb [ 304,
32080 silly registry.get {date : ' Fri, 09 May 2014 1:25:21 GMT '
32080 silly registry.get server: ' Apache '
32080 registry.get silly via: '1 .1 varnish '
32080 registry.get silly ' last-modified ': ' Fri, 09 May 2014 1:25:21 GMT '
32080 registry.get silly ' cache-control ' : 'max -age = 1',
32080 registry.get silly etag ' " NOJCHGNZ4V3LSB5NIN9NV95R '"
32080 registry.get silly ' x -served -by ' , ' cache- am69 -AMS '
32080 registry.get silly ' x -cache' , ' HIT ' ,
32080 registry.get silly ' x -cache- hits' : '1'
32080 registry.get silly 'x- timer' , ' S1399598721.296903610 , VS0 , VE186 '
32080 registry.get silly vary : 'Accept' ,
32080 registry.get silly 'content - length' : '0 ' ,
32080 registry.get silly ' keep- alive' , ' timeout = 10 , max = 50',
32080 registry.get silly connection : ' Keep- Alive '} ]
32081 verbose etag cache from tape
257f9ab3 silly lockfile - 32082 -2- lodash 4-1 lodash @ ~ 2.4.1
257f9ab3 silly lockfile - 32083 -2- lodash 4-1 lodash @ ~ 2.4.1
32084 gunzTarPerm extractEntry silly example / prof.js
32085 gunzTarPerm extractEntry silly example / top /
32086 gunzTarPerm extractEntry silly example / top / run.js
32087 gunzTarPerm extractEntry silly test / _files / inverted_section.js

And these are some of the mistakes that leave me in the process of installing any dependencies :

npm ERR ! Error: ENOENT , open '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-internal/CONTRIBUTING.md'
npm ERR ! If you need help , you report this May * Entire * log ,
npm ERR ! including the npm and node versions , at:
npm ERR ! <http://github.com/npm/npm/issues>

npm ERR ! Darwin 13.1.0 System
npm ERR ! command " node" " / usr / local / bin / npm " "install" "-g " " bower "
npm ERR ! cwd / Users / joseapl / Sites
npm ERR ! node- v v0.10.28
npm ERR ! npm - v 1.4.9
npm ERR ! path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-internal/CONTRIBUTING.md
npm ERR ! code ENOENT
npm ERR ! errno 34
npm ERR ! Error: ENOENT , lstat '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-nodeunit/Gruntfile.js'
npm ERR ! If you need help , you report this May * Entire * log ,
npm ERR ! including the npm and node versions , at:
npm ERR ! <http://github.com/npm/npm/issues>

npm ERR ! Darwin 13.1.0 System
npm ERR ! command " node" " / usr / local / bin / npm " "install" "-g " " bower "
npm ERR ! cwd / Users / joseapl / Sites
npm ERR ! node- v v0.10.28
npm ERR ! npm - v 1.4.9
npm ERR ! path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-nodeunit/Gruntfile.js
npm ERR ! fstream_path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-nodeunit/Gruntfile.js
npm ERR ! File fstream_type
npm ERR ! FileWriter fstream_class
npm ERR ! code ENOENT
npm ERR ! errno 34
npm ERR ! fstream_stack / usr / local / lib / node_modules / npm / node_modules / fstream / lib / writer.js : 284:26
npm ERR ! fstream_stack Object.oncomplete ( fs.js : 107:15 )
npm ERR ! Error: ENOENT , lstat '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/istanbul/test/instrumentation/test-for.js'
npm ERR ! If you need help , you report this May * Entire * log ,
npm ERR ! including the npm and node versions , at:
npm ERR ! <http://github.com/npm/npm/issues>

npm ERR ! Darwin 13.1.0 System
npm ERR ! command " node" " / usr / local / bin / npm " "install" "-g " " bower "
npm ERR ! cwd / Users / joseapl / Sites
npm ERR ! node- v v0.10.28
npm ERR ! npm - v 1.4.9
npm ERR ! path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/istanbul/test/instrumentation/test-for.js
npm ERR ! fstream_path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/istanbul/test/instrumentation/test-for.js
npm ERR ! File fstream_type
npm ERR ! FileWriter fstream_class
npm ERR ! code ENOENT
npm ERR ! errno 34
npm ERR ! fstream_stack / usr / local / lib / node_modules / npm / node_modules / fstream / lib / writer.js : 284:26
npm ERR ! fstream_stack Object.oncomplete ( fs.js : 107:15 )
npm ERR ! Error: ENOENT , lstat '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-jshint/tasks/jshint.js'
npm ERR ! If you need help , you report this May * Entire * log ,
npm ERR ! including the npm and node versions , at:
npm ERR ! <http://github.com/npm/npm/issues>

npm ERR ! Darwin 13.1.0 System
npm ERR ! command " node" " / usr / local / bin / npm " "install" "-g " " bower "
npm ERR ! cwd / Users / joseapl / Sites
npm ERR ! node- v v0.10.28
npm ERR ! npm - v 1.4.9
npm ERR ! path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-jshint/tasks/jshint.js
npm ERR ! fstream_path /usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/grunt-contrib-jshint/tasks/jshint.js
npm ERR ! File fstream_type
npm ERR ! FileWriter fstream_class
npm ERR ! code ENOENT
npm ERR ! errno 34
npm ERR ! fstream_stack / usr / local / lib / node_modules / npm / node_modules / fstream / lib / writer.js : 284:26
npm ERR ! fstream_stack Object.oncomplete ( fs.js : 107:15 )
npm http GET https://registry.npmjs.org/mocha/-/mocha-1.8.0.tgz
npm ERR ! Error rolling back Error: ENOTEMPTY , rmdir '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/tiny-lr'
npm ERR ! Error rolling back [email protected] { [Error : ENOTEMPTY , rmdir '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/tiny-lr']
npm ERR ! Error rolling back errno : 53,
npm ERR ! rolling back the error code: ' ENOTEMPTY '
npm ERR ! Error rolling back path: '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/tiny-lr' }
npm ERR ! Error: ENOENT , lstat '/usr/local/lib/node_modules/bower/node_modules/decompress-zip/node_modules/grunt-contrib-watch/node_modules/gaze/test/add_test.js'
npm ERR ! If you need help , you report this May * Entire * log ,
npm ERR ! including the npm and node versions , at:
npm ERR ! <http://github.com/npm/npm/issues>

Does this have to do with the version of Xcode Version 5.1.1 (5B1008) and command line tools?

like image 947
Jose Paredes Avatar asked May 09 '14 01:05

Jose Paredes


1 Answers

What happens is that when I run the npm install -g bower or sudo nom install -g command or bower becomes a loop with errors but unfinished, performs rollback and start again (I guess).

Reading this and it seems to be on the right track. So you have attempted to run it as a regular user, correct?

npm install -g bower

And then running it via sudo like this, correct?

sudo npm install -g bower

What about doing sudo su - like this:

sudo su -

And then run:

npm install -g bower

Another suggestion is to make sure ~/.npm—the cache in your local user directory—is set to your user recursively like this:

sudo chown -R $USER ~/.npm

Note the linked instructions use the whoami command which effectively is the same as $USER which is the bash environment variable that equates to who you are on the system.

And on top of that, the page linked above links to another site which also recommends making sure /usr/local is set to your user recursively as well like this:

sudo chown -R $USER /usr/local

But I would only recommend that /usr/local adjustment if nothing else works. That seems a bit radical.

like image 106
Giacomo1968 Avatar answered Sep 20 '22 16:09

Giacomo1968