首先,我很抱歉在这里报告了npm3的一个问题,但看起来旧的回购目前处于只读模式。
我们有一个大而老的angularjs前端应用程序,它需要node4并使用npm3。几天前,当有人执行npm安装时,出现了一个问题。
错误
npm ERR! Linux 4.19.0-13-amd64
npm ERR! argv "/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqq/abc-batch-qqq/node/node" "/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqq/abc-batch-qqq/node/node_modules/npm/bin/npm-cli.js" "install"
npm ERR! node v4.4.3
npm ERR! npm v3.10.10
npm ERR! path /home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqq/abc-batch-qqq/node_modules/.staging/@types/node-69b48d6f/package.json
npm ERR! code ENOTDIR
npm ERR! errno -20
npm ERR! syscall open
npm ERR! ENOTDIR: not a directory, open '/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqq/abc-batch-qqq/node_modules/.staging/@types/node-69b48d6f/package.json'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
package.json
{
"name": "abc",
"version": "0.0.0",
"description": "Description for abc",
"private": true,
"cacheDirectories": [
"node_modules",
"src/main/webapp/bower_components"
],
"devDependencies": {
"bower": "1.7.9",
"browser-sync": "2.12.10",
"del": "2.2.1",
"eslint-config-angular": "0.5.0",
"eslint-plugin-angular": "1.3.1",
"event-stream": "3.3.4",
"generator-jhipster": "3.4.2",
"gulp": "3.9.1",
"gulp-angular-filesort": "1.1.1",
"gulp-angular-templatecache": "2.0.0",
"gulp-autoprefixer": "3.1.0",
"gulp-changed": "1.3.1",
"gulp-cssnano": "2.1.2",
"gulp-eslint": "3.0.1",
"gulp-flatten": "0.3.0",
"gulp-footer": "1.0.5",
"gulp-htmlmin": "2.0.0",
"gulp-if": "2.0.1",
"gulp-imagemin": "3.0.2",
"gulp-inject": "4.1.0",
"gulp-natural-sort": "0.1.1",
"gulp-ng-annotate": "2.0.0",
"gulp-ng-constant": "1.1.0",
"gulp-notify": "2.2.0",
"gulp-plumber": "1.1.0",
"gulp-rename": "1.2.2",
"gulp-replace": "0.5.4",
"gulp-rev": "7.1.0",
"gulp-rev-replace": "0.4.3",
"gulp-sourcemaps": "1.6.0",
"gulp-uglify": "1.5.4",
"gulp-useref": "3.1.0",
"jasmine-core": "2.4.1",
"karma": "1.1.2",
"karma-chrome-launcher": "1.0.1",
"karma-coverage": "1.1.1",
"karma-jasmine": "1.0.2",
"karma-junit-reporter": "1.1.0",
"karma-phantomjs-launcher": "1.0.1",
"karma-script-launcher": "1.0.0",
"lazypipe": "1.0.1",
"lodash": "4.14.0",
"main-bower-files": "2.13.1",
"map-stream": "0.0.6",
"phantomjs-prebuilt": "2.1.9",
"proxy-middleware": "0.15.0",
"run-sequence": "1.2.2",
"xml2js": "0.4.16",
"yargs": "4.8.1",
"useref": "1.4.1",
"esquery": "1.0.1"
},
"engines": {
"node": "^4.3"
},
"scripts": {
"test": "gulp test"
}
}
npm-调试
warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
150443 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
150444 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS: darwin
150444 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch: any
150444 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS: linux
150444 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
150445 warn node-fetch@2.6.7 requires a peer of encoding@^0.1.0 but none was installed.
150446 verbose If you need help, you may report this error at:
150446 verbose <https://github.com/npm/npm/issues>
150447 verbose stack Error: ENOTDIR: not a directory, open '/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqqq/abc-batch-qqqq/node_modules/.staging/@types/node-69b48d6f/package.json'
150447 verbose stack at Error (native)
150448 verbose cwd /home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqqq/abc-batch-qqqq
150449 error Linux 4.19.0-13-amd64
150450 error argv "/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqqq/abc-batch-qqqq/node/node" "/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqqq/abc-batch-qqqq/node/node_modules/npm/bin/npm-cli.js" "install"
150451 error node v4.4.3
150452 error npm v3.10.10
150453 error path /home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqqq/abc-batch-qqqq/node_modules/.staging/@types/node-69b48d6f/package.json
150454 error code ENOTDIR
150455 error errno -20
150456 error syscall open
150457 error ENOTDIR: not a directory, open '/home/pparker/workspaces/eclipse/abc/abc_refactor/abc_qqqq/abc-batch-qqqq/node_modules/.staging/@types/node-69b48d6f/package.json'
150458 error If you need help, you may report this error at:
150458 error <https://github.com/npm/npm/issues>
150459 verbose exit [ -20, true ]
我不能升级到新的npm版本,因为angularjs的应用程序和依赖。我试图迁移到npm6,但应用程序也停止了工作。
有什么线索吗?我完全绝望..。
先谢谢,再一次道歉。
发布于 2022-06-20 06:27:30
我发现问题了!
它与库生成器-jhipster(或它的任何依赖项)相关。
我们不再使用它了,所以我摆脱了它,一切都恢复了!
谢谢大家!
发布于 2022-06-16 11:01:26
刚刚解决了问题。这是因为主目录中有一个名为tmp的文件。
rm -rf ~/tmp
sudo npm cache clear
sudo npm install -g node
还有..。如果您试图安装npm,那么同样的错误和解决方案将应用- delete ~/tmp。
发布于 2022-08-30 20:32:13
此问题可能与package.json文件中存在不正确/不兼容版本的库有关。我过去也有过同样的问题,在我的例子中,这是由browser-sync
引起的。
要检查是否是这种情况,可以更改package.json文件,逐行删除库(或“分组”并逐组删除),并运行安装命令以查看安装是否正常工作。
预期的结果是,在删除有问题的库之后,install命令应该可以工作。
在识别它之后,您可以尝试将其降级为以前与项目一起工作的版本。
https://stackoverflow.com/questions/72644258
复制相似问题