node.js - 使用 NPM 安装包会导致依赖循环

标签 node.js npm osx-mavericks bower

基本信息:

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 ]

发生的事情是,当我运行 npm install -g bowersudo nom install -g 命令或 bower 变成一个有错误但未完成的循环,执行回滚和重新开始(我猜)。

还恰好设置了下载其他依赖如karma,mocha,chai(不知道会不会是依赖bower) 但问题不仅在于此,它还碰巧尝试安装任何依赖项考试:yeomangrunt 等......

我尝试了以下命令,但问题仍然存在:

npm cache clean
npm cache clear

这是一部分 - debug.log npm 文件:

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

这些是让我在安装任何依赖项的过程中犯下的一些错误:

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 decompress-zip@0.0.6 { [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>

这是否与 Xcode Version 5.1.1 (5B1008) 和命令行工具的版本有关?

最佳答案

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它似乎在正确的轨道上。所以您尝试以普通用户身份运行它,对吗?

npm install -g bower

然后像这样通过 sudo 运行它,对吗?

sudo npm install -g bower

像这样sudo su -怎么样:

sudo su -

然后运行:

npm install -g bower

另一个建议是确保 ~/.npm——本地用户目录中的缓存——像这样递归地设置给你的用户:

sudo chown -R $USER ~/.npm

请注意链接说明使用 whoami命令实际上与 $USER 相同,后者是等同于您在系统上的身份的 bash 环境变量。

最重要的是,上面链接的页面links to another site这也建议确保 /usr/local 递归地设置给你的用户,就像这样:

sudo chown -R $USER /usr/local

但我只推荐 /usr/local 调整,如果其他都不起作用的话。这似乎有点激进。

关于node.js - 使用 NPM 安装包会导致依赖循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555482/

相关文章:

python - 从 ElectronJS 脚本运行 python-shell

node.js - MongoDB 聚合嵌套数据

bash - "echo"和 "echo -n"有什么区别?

ios - 升级到 Mavericks 后 Xcode 编译时间非常慢

javascript - Firebase:TypeError:无法读取未定义的属性(读取 'getIdToken')

node.js - 多次写入时 Node 网络数据合并

javascript - 通过 jspm 安装带有依赖项的 npm 包

reactjs - Chrome 无法使用 react-qr-reader - npm 访问 iPhone 相机

node.js - 如何在 Vagrant VM 上安装 bcrypt?

python - 在 OS X 中设置 Python 路径