首先,我很抱歉在這里報告 npm3 的問題,但看起來舊的 repo 目前處于只讀模式。
我們有一個大而老的 angularjs 前端應用程式,它需要 node4 并使用 npm3。幾天前,有人執行 npm install 時出現了一個問題。
錯誤
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>
包.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 ]
由于 angularjs 應用程式和依賴項,我無法升級到較新的 npm 版本。我試圖轉移到 npm6,但應用程式也打包停止作業
有人對此有任何線索嗎?我徹底絕望了……
提前致謝,再次抱歉。
uj5u.com熱心網友回復:
我發現了問題!
它與庫 generator-jhipster (或其任何依賴項)有關
我們不再使用它,所以我擺脫了它,一切都恢復了!
謝謝大家!
uj5u.com熱心網友回復:
剛剛解決了問題。這是因為在主目錄中有一個名為 tmp 的檔案。
rm -rf ~/tmp
sudo npm cache clear
sudo npm install -g node
另外...如果您嘗試安裝 npm 則同樣的錯誤和解決方案適用 - 洗掉 ~/tmp
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494070.html