【问题标题】:Unsupported in Mac: inotify@1.4.1Mac 不支持:inotify@1.4.1
【发布时间】:2017-08-11 07:27:29
【问题描述】:

我正在尝试npm install,但收到此错误消息说我的操作系统不受支持。有什么可能的解决方案?

Elaine-MacBook-Pro:proj1 elaine$ npm install
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v6.2.2
npm ERR! npm  v3.9.5
npm ERR! code EBADPLATFORM

npm ERR! notsup Not compatible with your operating system or architecture: inotify@1.4.1
npm ERR! notsup Valid OS:    linux
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   darwin
npm ERR! notsup Actual Arch: x64

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/elaine/proj1/npm-debug.log

日志在这里:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install' ]
2 info using npm@3.9.5
3 info using node@v6.2.2
4 silly loadCurrentTree Starting
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly install normalizeTree
8 silly loadCurrentTree Finishing
9 silly loadIdealTree Starting
10 silly install loadIdealTree
11 silly cloneCurrentTree Starting
12 silly install cloneCurrentTreeToIdealTree
13 silly cloneCurrentTree Finishing
14 silly loadShrinkwrap Starting
15 silly install loadShrinkwrap
16 silly loadShrinkwrap Finishing
17 silly loadAllDepsIntoIdealTree Starting
18 silly install loadAllDepsIntoIdealTree
19 silly fetchNamedPackageData dev
20 silly mapToRegistry name dev
21 silly mapToRegistry using default registry
22 silly mapToRegistry registry https://registry.npmjs.org/
23 silly mapToRegistry data Result {
23 silly mapToRegistry   raw: 'dev',
23 silly mapToRegistry   scope: null,
23 silly mapToRegistry   name: 'dev',
23 silly mapToRegistry   rawSpec: '',
23 silly mapToRegistry   spec: 'latest',
23 silly mapToRegistry   type: 'tag' }
24 silly mapToRegistry uri https://registry.npmjs.org/dev
25 verbose request uri https://registry.npmjs.org/dev
26 verbose request no auth needed
27 info attempt registry request try #1 at 12:53:06 PM
28 verbose request id b60ea1145944a292
29 verbose etag W/"59766474-22fb"
30 verbose lastModified Mon, 24 Jul 2017 21:19:48 GMT
31 http request GET https://registry.npmjs.org/dev
32 http 304 https://registry.npmjs.org/dev
33 verbose headers { date: 'Fri, 11 Aug 2017 07:23:06 GMT',
33 verbose headers   via: '1.1 varnish',
33 verbose headers   'cache-control': 'max-age=300',
33 verbose headers   etag: 'W/"59766474-22fb"',
33 verbose headers   age: '0',
33 verbose headers   connection: 'keep-alive',
33 verbose headers   'x-served-by': 'cache-sin18026-SIN',
33 verbose headers   'x-cache': 'HIT',
33 verbose headers   'x-cache-hits': '1',
33 verbose headers   'x-timer': 'S1502436186.330442,VS0,VE149',
33 verbose headers   vary: 'Accept-Encoding, Accept' }
34 silly get cb [ 304,
34 silly get   { date: 'Fri, 11 Aug 2017 07:23:06 GMT',
34 silly get     via: '1.1 varnish',
34 silly get     'cache-control': 'max-age=300',
34 silly get     etag: 'W/"59766474-22fb"',
34 silly get     age: '0',
34 silly get     connection: 'keep-alive',
34 silly get     'x-served-by': 'cache-sin18026-SIN',
34 silly get     'x-cache': 'HIT',
34 silly get     'x-cache-hits': '1',
34 silly get     'x-timer': 'S1502436186.330442,VS0,VE149',
34 silly get     vary: 'Accept-Encoding, Accept' } ]
35 verbose etag https://registry.npmjs.org/dev from cache
36 verbose get saving dev to /Users/elaine/.npm/registry.npmjs.org/dev/.cache.json
37 verbose correctMkdir /Users/elaine/.npm correctMkdir not in flight; initializing
38 silly resolveWithNewModule dev@0.1.3 checking installable status
39 silly cache add args [ 'dev@^0.1.3', null ]
40 verbose cache add spec dev@^0.1.3
41 silly cache add parsed spec Result {
41 silly cache add   raw: 'dev@^0.1.3',
41 silly cache add   scope: null,
41 silly cache add   name: 'dev',
41 silly cache add   rawSpec: '^0.1.3',
41 silly cache add   spec: '>=0.1.3 <0.2.0',
41 silly cache add   type: 'range' }
42 silly addNamed dev@>=0.1.3 <0.2.0
43 verbose addNamed ">=0.1.3 <0.2.0" is a valid semver range for dev
44 silly addNameRange { name: 'dev', range: '>=0.1.3 <0.2.0', hasData: false }
45 silly mapToRegistry name dev
46 silly mapToRegistry using default registry
47 silly mapToRegistry registry https://registry.npmjs.org/
48 silly mapToRegistry data Result {
48 silly mapToRegistry   raw: 'dev',
48 silly mapToRegistry   scope: null,
48 silly mapToRegistry   name: 'dev',
48 silly mapToRegistry   rawSpec: '',
48 silly mapToRegistry   spec: 'latest',
48 silly mapToRegistry   type: 'tag' }
49 silly mapToRegistry uri https://registry.npmjs.org/dev
50 verbose addNameRange registry:https://registry.npmjs.org/dev not in flight; fetching
51 verbose get https://registry.npmjs.org/dev not expired, no request
52 silly addNameRange number 2 { name: 'dev', range: '>=0.1.3 <0.2.0', hasData: true }
53 silly addNameRange versions [ 'dev',
53 silly addNameRange   [ '0.1.0',
53 silly addNameRange     '0.1.1',
53 silly addNameRange     '0.1.2',
53 silly addNameRange     '0.1.3',
53 silly addNameRange     '0.1.1-d',
53 silly addNameRange     '0.1.1-e',
53 silly addNameRange     '0.1.1-f',
53 silly addNameRange     '0.1.1-g',
53 silly addNameRange     '0.1.1-h',
53 silly addNameRange     '0.1.1-n',
53 silly addNameRange     '0.1.1-p' ] ]
54 silly addNamed dev@0.1.3
55 verbose addNamed "0.1.3" is a plain semver version for dev
56 silly cache afterAdd dev@0.1.3
57 verbose afterAdd /Users/elaine/.npm/dev/0.1.3/package/package.json not in flight; writing
58 verbose correctMkdir /Users/elaine/.npm correctMkdir not in flight; initializing
59 verbose afterAdd /Users/elaine/.npm/dev/0.1.3/package/package.json written
60 silly fetchNamedPackageData inotify
61 silly mapToRegistry name inotify
62 silly mapToRegistry using default registry
63 silly mapToRegistry registry https://registry.npmjs.org/
64 silly mapToRegistry data Result {
64 silly mapToRegistry   raw: 'inotify',
64 silly mapToRegistry   scope: null,
64 silly mapToRegistry   name: 'inotify',
64 silly mapToRegistry   rawSpec: '',
64 silly mapToRegistry   spec: 'latest',
64 silly mapToRegistry   type: 'tag' }
65 silly mapToRegistry uri https://registry.npmjs.org/inotify
66 verbose request uri https://registry.npmjs.org/inotify
67 verbose request no auth needed
68 info attempt registry request try #1 at 12:53:06 PM
69 verbose etag W/"58e14fc4-721f"
70 verbose lastModified Sun, 02 Apr 2017 19:23:48 GMT
71 http request GET https://registry.npmjs.org/inotify
72 http 304 https://registry.npmjs.org/inotify
73 verbose headers { date: 'Fri, 11 Aug 2017 07:23:06 GMT',
73 verbose headers   via: '1.1 varnish',
73 verbose headers   'cache-control': 'max-age=300',
73 verbose headers   etag: 'W/"58e14fc4-721f"',
73 verbose headers   age: '0',
73 verbose headers   connection: 'keep-alive',
73 verbose headers   'x-served-by': 'cache-sin18026-SIN',
73 verbose headers   'x-cache': 'HIT',
73 verbose headers   'x-cache-hits': '1',
73 verbose headers   'x-timer': 'S1502436187.895726,VS0,VE137',
73 verbose headers   vary: 'Accept-Encoding, Accept' }
74 silly get cb [ 304,
74 silly get   { date: 'Fri, 11 Aug 2017 07:23:06 GMT',
74 silly get     via: '1.1 varnish',
74 silly get     'cache-control': 'max-age=300',
74 silly get     etag: 'W/"58e14fc4-721f"',
74 silly get     age: '0',
74 silly get     connection: 'keep-alive',
74 silly get     'x-served-by': 'cache-sin18026-SIN',
74 silly get     'x-cache': 'HIT',
74 silly get     'x-cache-hits': '1',
74 silly get     'x-timer': 'S1502436187.895726,VS0,VE137',
74 silly get     vary: 'Accept-Encoding, Accept' } ]
75 verbose etag https://registry.npmjs.org/inotify from cache
76 verbose get saving inotify to /Users/elaine/.npm/registry.npmjs.org/inotify/.cache.json
77 verbose correctMkdir /Users/elaine/.npm correctMkdir not in flight; initializing
78 silly resolveWithNewModule inotify@1.4.1 checking installable status
79 silly rollbackFailedOptional Starting
80 silly rollbackFailedOptional Finishing
81 silly runTopLevelLifecycles Starting
82 silly runTopLevelLifecycles Finishing
83 silly install printInstalled
84 verbose stack Error: Unsupported platform for inotify@1.4.1: wanted {"name":"inotify","version":"1.4.1","author":{"name":"Camilo Aguilar","email":"camilo.aguilar@gmail.com"},"email":"camilo.aguilar@gmail.com","keywords":["inotify","watch","monitor","watch files","watch directories"],"license":"MIT","description":"inotify bindings for v8 javascript engine","repository":{"type":"git","url":"git+ssh://git@github.com/c4milo/node-inotify.git"},"os":["linux"],"engines":{"node":">=0.8"},"main":"inotify","dependencies":{"bindings":"^1.2.1","nan":"^2.3.3"},"scripts":{"test":"node-gyp configure build","install":"node-gyp rebuild"},"gypfile":true,"contributors":[{"name":"Adrian Estrada","email":"edsadr@gmail.com"},{"name":"Alexander Makarenko","email":"estliberitas@gmail.com"},{"name":"Brian Ingalls","email":"bingalls@compete.com"},{"name":"Brian White","email":"mscdex@mscdex.net"},{"name":"Camilo Aguilar","email":"camilo.aguilar@gmail.com"},{"name":"Dan VerWeire","email":"dverweire@gmail.com"},{"name":"FrozenCow","email":"frozencow@gmail.com"},{"name":"Michael Boe","email":"mschuylerb@gmail.com"},{"name":"Yannick Croissant","email":"k1der.country@free.fr"},{"name":"ikokostya","email":"ikokostya@gmail.com"}],"gitHead":"c1416dfada3ca4f3fb40e65eededc52461822ec5","bugs":{"url":"https://github.com/c4milo/node-inotify/issues"},"homepage":"https://github.com/c4milo/node-inotify#readme","_id":"inotify@1.4.1","_shasum":"8abdeb7ee9cbc291542a252df00d848b2a8f9287","_from":"inotify@>= 0.1.6","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"c4milo","email":"camilo.aguilar@gmail.com"},"maintainers":[{"name":"camilo","email":"camilo@cloudescape.com"},{"name":"c4milo","email":"camilo.aguilar@gmail.com"}],"dist":{"shasum":"8abdeb7ee9cbc291542a252df00d848b2a8f9287","tarball":"https://registry.npmjs.org/inotify/-/inotify-1.4.1.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/inotify-1.4.1.tgz_1462444544613_0.7660284182056785"},"directories":{},"_resolved":"https://registry.npmjs.org/inotify/-/inotify-1.4.1.tgz","_requested":{"raw":"inotify@>= 0.1.6","scope":null,"name":"inotify","rawSpec":">= 0.1.6","spec":">=0.1.6","type":"range"},"_spec":"inotify@>= 0.1.6","_where":"/Users/elaine/proj1/node_modules/dev","_args":[[{"raw":"inotify@>= 0.1.6","scope":null,"name":"inotify","rawSpec":">= 0.1.6","spec":">=0.1.6","type":"range"},"/Users/elaine/proj1/node_modules/dev"]],"readme":"ERROR: No README data found!"} (current: {"os":"darwin","cpu":"x64"})
84 verbose stack     at checkPlatform (/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js:45:14)
84 verbose stack     at thenWarnEngineIssues (/usr/local/lib/node_modules/npm/lib/install/validate-args.js:41:5)
84 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/iferr/index.js:13:50
84 verbose stack     at checkEngine (/usr/local/lib/node_modules/npm/node_modules/npm-install-checks/index.js:24:10)
84 verbose stack     at module.exports.isInstallable (/usr/local/lib/node_modules/npm/lib/install/validate-args.js:38:3)
84 verbose stack     at resolveWithNewModule (/usr/local/lib/node_modules/npm/lib/install/deps.js:497:12)
84 verbose stack     at /usr/local/lib/node_modules/npm/lib/install/deps.js:491:7
84 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/iferr/index.js:13:50
84 verbose stack     at /usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js:37:12
84 verbose stack     at addRequestedAndFinish (/usr/local/lib/node_modules/npm/lib/fetch-package-metadata.js:67:5)
85 verbose pkgid inotify@1.4.1
86 verbose cwd /Users/elaine/proj1
87 error Darwin 15.6.0
88 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
89 error node v6.2.2
90 error npm  v3.9.5
91 error code EBADPLATFORM
92 error notsup Not compatible with your operating system or architecture: inotify@1.4.1
93 error notsup Valid OS:    linux
93 error notsup Valid Arch:  any
93 error notsup Actual OS:   darwin
93 error notsup Actual Arch: x64
94 verbose exit [ 1, true ]

这是 package.json

{
  "name": "arthan",
  "version": "0.0.0",
  "main": "server/index.js",
  "dependencies": {
    "angular": "~1.6.0",
    "angular-animate": "~1.6.0",
    "angular-aria": "~1.6.0",
    "angular-cookies": "~1.6.0",
    "angular-google-places-autocomplete": "^0.2.9",
    "angular-google-places-map": "^1.2.1",
    "angular-material": "^1.1.4",
    "angular-messages": "^1.6.4",
    "angular-resource": "~1.6.0",
    "angular-sanitize": "~1.6.0",
    "angular-ui-bootstrap": "^2.0.1",
    "angular-ui-router": "~0.3.1",
    "angular-validation-match": "^1.9.0",
    "aws-sdk": "^2.56.0",
    "babel-polyfill": "^6.7.2",
    "babel-runtime": "^6.6.1",
    "blob-stream": "^0.1.3",
    "bluebird": "^3.3.3",
    "body-parser": "^1.13.3",
    "bootstrap": "~3.3.7",
    "bootstrap-social": "^5.0.0",
    "composable-middleware": "^0.3.0",
    "connect-mongo": "^1.2.1",
    "cookie-parser": "^1.3.5",
    "core-js": "^2.2.1",
    "csvtojson": "^1.1.7",
    "dev": "^0.1.3",
    "ejs": "^2.5.3",
    "errorhandler": "^1.4.2",
    "express": "^4.13.3",
    "express-jwt": "^5.0.0",
    "express-session": "^1.11.3",
    "fast-json-patch": "^1.0.0",
    "font-awesome": ">=4.1.0",
    "imagemin-svgo": "^5.2.2",
    "install": "^0.10.1",
    "jquery": "^3.2.1",
    "jquery-locationpicker": "^0.1.12",
    "jsonwebtoken": "^7.0.0",
    "lodash": "^4.7.0",
    "lusca": "^1.3.0",
    "method-override": "^2.3.5",
    "mongoose": "^4.7.3",
    "morgan": "~1.7.0",
    "multer": "^1.3.0",
    "node-pre-gyp": "^0.6.36",
    "notp": "^2.0.3",
    "passport": "~0.3.0",
    "passport-facebook": "^2.0.0",
    "passport-google-oauth20": "^1.0.0",
    "passport-local": "^1.0.0",
    "pdfkit": "^0.8.2",
    "promise-waterfall": "^0.1.0",
    "serve-favicon": "^2.3.0",
    "shrink-ray": "^0.1.3",
    "sprint-js": "~0.1.0",
    "thirty-two": "^1.0.2",
    "uuid": "^3.0.1"
  },
  "devDependencies": {
    "angular-mocks": "~1.6.0",
    "autoprefixer": "^6.0.0",
    "awesome-typescript-loader": "^1.1.1",
    "babel-cli": "^6.24.1",
    "babel-core": "^6.6.5",
    "babel-eslint": "^6.0.4",
    "babel-loader": "^6.2.4",
    "babel-plugin-syntax-flow": "^6.8.0",
    "babel-plugin-transform-class-properties": "^6.6.0",
    "babel-plugin-transform-flow-comments": "^6.8.0",
    "babel-plugin-transform-runtime": "^6.6.0",
    "babel-preset-env": "^1.5.1",
    "babel-preset-es2015": "^6.6.0",
    "babel-register": "^6.6.5",
    "browser-sync": "^2.8.0",
    "bs-fullscreen-message": "^1.0.0",
    "chai": "^3.2.0",
    "chai-as-promised": "^5.1.0",
    "chai-things": "^0.2.0",
    "css-loader": "^0.24.0",
    "del": "^2.0.2",
    "eslint": "^2.12.0",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.9.0",
    "flow-bin": "^0.31.0",
    "grunt": "^1.0.1",
    "grunt-build-control": "^0.7.0",
    "gulp": "^3.9.1",
    "gulp-babel": "^6.1.2",
    "gulp-env": "^0.4.0",
    "gulp-eslint": "^2.0.0",
    "gulp-imagemin": "^3.0.1",
    "gulp-inject": "^4.0.0",
    "gulp-istanbul": "^1.1.1",
    "gulp-istanbul-enforcer": "^1.0.3",
    "gulp-load-plugins": "^1.0.0-rc.1",
    "gulp-mocha": "^2.1.3",
    "gulp-node-inspector": "^0.1.0",
    "gulp-plumber": "^1.0.1",
    "gulp-protractor": "^3.0.0",
    "gulp-rev": "^7.0.0",
    "gulp-rev-replace": "^0.4.2",
    "gulp-sort": "^2.0.0",
    "gulp-sourcemaps": "^1.5.2",
    "gulp-stylint": "^3.0.0",
    "gulp-util": "^3.0.5",
    "gulp-watch": "^4.3.5",
    "html-webpack-harddisk-plugin": "~0.0.2",
    "html-webpack-plugin": "^2.16.0",
    "imports-loader": "^0.6.5",
    "isparta": "^4.0.0",
    "isparta-instrumenter-loader": "^1.0.0",
    "isparta-loader": "^2.0.0",
    "istanbul": "1.1.0-alpha.1",
    "istanbul-instrumenter-loader": "^0.2.0",
    "jasmine-core": "^2.3.4",
    "jasmine-spec-reporter": "^2.4.0",
    "karma": "~0.13.3",
    "karma-chrome-launcher": "^2.0.0",
    "karma-coverage": "^1.0.0",
    "karma-firefox-launcher": "^1.0.0",
    "karma-jasmine": "^1.0.2",
    "karma-phantomjs-launcher": "~1.0.0",
    "karma-script-launcher": "^1.0.0",
    "karma-sourcemap-loader": "~0.3.7",
    "karma-spec-reporter": "~0.0.20",
    "karma-webpack": "^1.7.0",
    "lazypipe": "^1.0.1",
    "mocha": "^3.0.2",
    "ng-annotate-loader": "~0.1.0",
    "nodemon": "^1.3.7",
    "null-loader": "^0.1.1",
    "open": "~0.0.4",
    "phantomjs-prebuilt": "^2.1.4",
    "postcss-loader": "^0.11.1",
    "proxyquire": "^1.0.1",
    "raw-loader": "^0.5.1",
    "run-sequence": "^1.1.0",
    "sinon": "^1.16.1",
    "sinon-chai": "^2.8.0",
    "strip-ansi": "^3.0.1",
    "style-loader": "^0.13.0",
    "supertest": "^1.1.0",
    "through2": "^2.0.1",
    "webpack": "^1.12.14",
    "webpack-dev-middleware": "^1.5.1",
    "webpack-stream": "^3.2.0"
  },
  "engines": {
    "node": "^6.2.2",
    "npm": "^3.9.5"
  },
  "scripts": {
    "test": "gulp test",
    "flow": "flow",
    "update-webdriver": "node node_modules/protractor/bin/webdriver-manager update",
    "start": "node server"
  },
  "private": true
}

【问题讨论】:

  • 您能否将项目package.json 中的依赖项列表(dependenciesdevDependencies)添加到您的问题中?

标签: node.js npm npm-install inotify


【解决方案1】:

此问题可能是由(已弃用)dev 包引起的,该包直接依赖于 inotify,这是一个仅限 Linux 的包,因此无法在 macOS 上运行。

如果您实际上并不依赖该软件包,则可以将其删除 (npm uninstall dev --save)。

否则,您应该将其替换为跨平台替代方案。 dev的开发者建议using nodemon

【讨论】:

    【解决方案2】:
    • 问题是由 dev 包引起的, 它直接依赖于 inotify(Linux-only) 包

    • 用这个命令删除这个包 - npm uninstall dev --save

    【讨论】:

      【解决方案3】:

      sudo npm install -g eslint 这里我们需要使用 sudo 进行身份验证

      【讨论】:

      • sudo npm install -g
      猜你喜欢
      • 2017-06-08
      • 2021-07-09
      • 2019-04-17
      • 1970-01-01
      • 2018-04-04
      • 2016-10-31
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      相关资源
      最近更新 更多