node.js - 在 Mac : inotify@1. 4.1 中不受支持

标签 node.js npm npm-install inotify

我正在尝试 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
}

最佳答案

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

如果你实际上并不依赖这个包,你可以删除它(npm uninstall dev --save)。

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

关于node.js - 在 Mac : inotify@1. 4.1 中不受支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45629353/

相关文章:

reactjs - 从 github 进行 npm 安装 : Module not found: Can't resolve 'react-big-calendar'

node.js - 如何使用 node 和 express 从搜索表单中查询 mongodb

javascript - 无法仅通过复制 Node 模块来运行应用程序

javascript - 使用 Node.js process.cwd() 上移目录

node.js - 使用 npm 安装 Express 时出现问题。

heroku 上的 Python 提供 h12

node.js - Grunt 无法启动 : ">> ReferenceError: grunt is not defined"

reactjs - npm 错误!尝试获取 https ://registry. npmjs.org/react-is 时响应超时(超过 30000 毫秒)

javascript - 功能未达到

node.js - 你如何在 riak 中找到桶的大小? (以 MB 为单位并忽略备份)