Do you want to request a _feature_ or report a _bug_?
Bug
What is the current behavior?
Optional dependency is excluded but still try to build.
warning [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[1/1] โ fsevents: gyp info using [email protected] | win32 | x64
[-/1] โ waiting...
[-/1] โ waiting...
[-/1] โ waiting...
error Error running install script for optional dependency: "[...]\\node_modules\\fsevents
If the current behavior is a bug, please provide the steps to reproduce.
yarn add chokidar
What is the expected behavior?
Incompatible optional dependency should be excluded completly.
Please mention your node.js, yarn and operating system version.
node4
yarn0.16.1
windows7
Same problem here. Node 6.5, win 7
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[1/1] ? fsevents: File "%AppData%\Roaming\nvm\v6.5.0\node_modules\yarn\node_modules\node-gyp\gyp\py
[-/1] ? waiting...
[-/1] ? waiting...
[-/1] ? waiting...
error Error running install script for optional dependency: "C:\\Projects\\pcab-frontend\\node_modules\\fsevents: Command failed
Same issue here (windows 7)
I am ending up with a lot more MB in node_modules installing with yarn. I am certain that one big factor is fsevents
when installing chokidar
, same as the OP is facing. I am on ubuntu 16.04, node 6.2.2. yarn seems to install all optional dependencies, regardless of platform support.
Same issue on win10 and yarn version is 0.16.1, also resemble error Not compatible with your operating system or architecture: [email protected]
on npm.
This should have been fixed by #525, but it looks like it regressed at some point ๐ข . You can replicate the issue on a non-Windows environment by running (edit: sorry, I was incorrect)yarn add @daniel15/win-test-2
@Daniel15, I don't think that module works as it specifies the os
field so it errors on the main package (for non-Windows users), before it gets to the optionalDependencies
.
But if I exclude the platform check for win-test-2
explicitly, this is the output I get:
$ yarn add @daniel15/win-test-2
info No lockfile found.
[1/4] ๐ Resolving packages...
[2/4] ๐ Fetching packages...
warning @daniel15/[email protected]: The platform "darwin" is incompatible with this module.
info "@daniel15/[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] ๐ Linking dependencies...
[4/4] ๐ Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
โโ @daniel15/[email protected]
โโ @daniel15/[email protected]
โจ Done in 1.68s.
Verified the optionalDependency module was installed too:
$ ls node_modules/@daniel15
win-test win-test-2
It is interesting that it reports excluding it from installation, but installs it anyways.
@wyze - Oops, my mistake! Sorry for the misleading comment. I just realised my test package was configured incorrectly.
In case it helps, running yarn install --production
resolved the fsevents error for me on linux using version 0.16.1. With the production flag I just get a warning that it is skipping fsevents.
+1
> yarn --version
0.16.1
Expected behavior:
> yarn add chokidar
yarn add v0.16.1
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
node-pre-success Saved lockfile.
success Saved XX new dependencies
....
Done in 13.22s.
Actual behavior:
> yarn add chokidar
yarn add v0.16.1
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[1/1] โข fsevents: node -v v5.3.0
[-/1] โข waiting...
[-/1] โข waiting...
[-/1] โข waiting...
error Error running install script for optional dependency: "E:\\tmp\\node_modules\\fsevents: Command failed.\nExit code: 1\nCommand: C:\\WINDOWS\\system32\\cmd.exe\nArguments: /d /s /c node-pre-gyp install --fallback-to-build\nDirectory: E:\\tmp\\node_modules\\fsevents\nOutput:\nnode-pre-gyp info it worked if it ends with ok\nnode-pre-gyp info using [email protected]\nnode-pre-gyp info using [email protected] | win32 | x64\nnode-pre-gyp info check checked for \"E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64\\fse.node\" (not found)\nnode-pre-gyp http GET https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.15/fse-v1.0.15-node-v47-win32-x64.tar.gz\nnode-pre-gyp http 404 https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.15/fse-v1.0.15-node-v47-win32-x64.tar.gz\nnode-pre-gyp ERR! Tried to download: https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.15/fse-v1.0.15-node-v47-win32-x64.tar.gz \nnode-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v47 ABI) (falling back to source compile with node-gyp) \nnode-pre-gyp http Pre-built binary not available for your system, looked for https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.15/fse-v1.0.15-node-v47-win32-x64.tar.gz \n\r\nE:\\tmp\\node_modules\\fsevents>if not defined npm_config_node_gyp (node \"E:\\global_modules\\node_modules\\yarn\\bin\\node-gyp-bin\\\\..\\..\\node_modules\\node-gyp\\bin\\node-gyp.js\" clean ) else (node clean ) \r\ngyp info it worked if it ends with ok\ngyp info using [email protected]\ngyp info using [email protected] | win32 | x64\ngyp info ok \n\r\nE:\\tmp\\node_modules\\fsevents>if not defined npm_config_node_gyp (node \"E:\\global_modules\\node_modules\\yarn\\bin\\node-gyp-bin\\\\..\\..\\node_modules\\node-gyp\\bin\\node-gyp.js\" configure --fallback-to-build --module=E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64\\fse.node --module_name=fse --module_path=E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64 ) else (node configure --fallback-to-build --module=E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64\\fse.node --module_name=fse --module_path=E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64 ) \r\ngyp info it worked if it ends with ok\ngyp info using [email protected]\ngyp info using [email protected] | win32 | x64\ngyp info spawn C:\\Python27\\python.EXE\ngyp info spawn args [ 'E:\\\\global_modules\\\\node_modules\\\\yarn\\\\node_modules\\\\node-gyp\\\\gyp\\\\gyp_main.py',\ngyp info spawn args 'binding.gyp',\ngyp info spawn args '-f',\ngyp info spawn args 'msvs',\ngyp info spawn args '-G',\ngyp info spawn args 'msvs_version=auto',\ngyp info spawn args '-I',\ngyp info spawn args 'E:\\\\tmp\\\\node_modules\\\\fsevents\\\\build\\\\config.gypi',\ngyp info spawn args '-I',\ngyp info spawn args 'E:\\\\global_modules\\\\node_modules\\\\yarn\\\\node_modules\\\\node-gyp\\\\addon.gypi',\ngyp info spawn args '-I',\ngyp info spawn args 'C:\\\\Users\\\\Will\\\\.node-gyp\\\\5.3.0\\\\include\\\\node\\\\common.gypi',\ngyp info spawn args '-Dlibrary=shared_library',\ngyp info spawn args '-Dvisibility=default',\ngyp info spawn args '-Dnode_root_dir=C:\\\\Users\\\\Will\\\\.node-gyp\\\\5.3.0',\ngyp info spawn args '-Dnode_gyp_dir=E:\\\\global_modules\\\\node_modules\\\\yarn\\\\node_modules\\\\node-gyp',\ngyp info spawn args '-Dnode_lib_file=node.lib',\ngyp info spawn args '-Dmodule_root_dir=E:\\\\tmp\\\\node_modules\\\\fsevents',\ngyp info spawn args '--depth=.',\ngyp info spawn args '--no-parallel',\ngyp info spawn args '--generator-output',\ngyp info spawn args 'E:\\\\tmp\\\\node_modules\\\\fsevents\\\\build',\ngyp info spawn args '-Goutput_dir=.' ]\nTraceback (most recent call last):\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\gyp_main.py\", line 16, in <module>\r\n sys.exit(gyp.script_main())\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\pylib\\gyp\\__init__.py\", line 545, in script_main\r\n return main(sys.argv[1:])\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\pylib\\gyp\\__init__.py\", line 538, in main\r\n return gyp_main(args)\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\pylib\\gyp\\__init__.py\", line 523, in gyp_main\r\n generator.GenerateOutput(flat_list, targets, data, params)\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\pylib\\gyp\\generator\\msvs.py\", line 2003, in GenerateOutput\r\n sln_projects, project_objects, flat=msvs_version.FlatSolution())\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\pylib\\gyp\\generator\\msvs.py\", line 1762, in _GatherSolutionFolders\r\n return _DictsToFolders('', root, flat)\r\n File \"E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\gyp\\pylib\\gyp\\generator\\msvs.py\", line 1715, in _DictsToFolders\r\n for folder, contents in bucket.iteritems():\r\nAttributeError: 'MSVSProject' object has no attribute 'iteritems'\r\ngyp ERR! configure error \ngyp ERR! stack Error: `gyp` failed with exit code: 1\ngyp ERR! stack at ChildProcess.onCpExit (E:\\global_modules\\node_modules\\yarn\\node_modules\\node-gyp\\lib\\configure.js:305:16)\ngyp ERR! stack at emitTwo (events.js:87:13)\ngyp ERR! stack at ChildProcess.emit (events.js:172:7)\ngyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)\ngyp ERR! System Windows_NT 10.0.14393\ngyp ERR! command \"C:\\\\PROGRAM FILES\\\\NODEJS\\\\node.exe\" \"E:\\\\global_modules\\\\node_modules\\\\yarn\\\\node_modules\\\\node-gyp\\\\bin\\\\node-gyp.js\" \"configure\" \"--fallback-to-build\" \"--module=E:\\\\tmp\\\\node_modules\\\\fsevents\\\\lib\\\\binding\\\\Release\\\\node-v47-win32-x64\\\\fse.node\" \"--module_name=fse\" \"--module_path=E:\\\\tmp\\\\node_modules\\\\fsevents\\\\lib\\\\binding\\\\Release\\\\node-v47-win32-x64\"\ngyp ERR! cwd E:\\tmp\\node_modules\\fsevents\ngyp ERR! node -v v5.3.0\ngyp ERR! node-gyp -v v3.4.0\ngyp ERR! not ok \nnode-pre-gyp ERR! build error \nnode-pre-gyp ERR! stack Error: Failed to execute 'node-gyp.cmd configure --fallback-to-build --module=E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64\\fse.node --module_name=fse --module_path=E:\\tmp\\node_modules\\fsevents\\lib\\binding\\Release\\node-v47-win32-x64' (1)\nnode-pre-gyp ERR! stack at ChildProcess.<anonymous> (E:\\tmp\\node_modules\\fsevents\\node_modules\\node-pre-gyp\\lib\\util\\compile.js:83:29)\nnode-pre-gyp ERR! stack at emitTwo (events.js:87:13)\nnode-pre-gyp ERR! stack at ChildProcess.emit (events.js:172:7)\nnode-pre-gyp ERR! stack at maybeClose (internal/child_process.js:818:16)\nnode-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)\nnode-pre-gyp ERR! System Windows_NT 10.0.14393\nnode-pre-gyp ERR! command \"C:\\\\PROGRAM FILES\\\\NODEJS\\\\node.exe\" \"E:\\\\tmp\\\\node_modules\\\\fsevents\\\\node_modules\\\\node-pre-gyp\\\\bin\\\\node-pre-gyp\" \"install\" \"--fallback-to-build\"\nnode-pre-success Saved lockfile.
success Saved 0 new dependencies.
Done in 12.34s.
Repeated installation attempts eventually makes it happy, but clearing out node_modules and package.json and doing a fresh install of chokidar
reliably fails.
Update:
It looks to me like what is happening is that PackageCompatibility.check
is merely printing a warning for optionalDependencies that fail the validation check. It is not actively removing them from the queue so PackageInstallScripts.init
tries to run the install script for fsevents
anyway.
@kriscarle I think that might be a fluke. I tried installing chokidar
with the production flag and it still failed.
I tried use yarn and i faced with the issue:
error [email protected]: The engine "node" is incompatible with this module. Expected version "0.8.x".
error Found incompatible module
node@6
yarn@latest (v0.17.6)
mac@latest (sierra)
When i use npm, it was work normally.
on the one hand, new behaviour is good,
on the other hand, old package is deep nested and i cannot update it, so i cannot use yarn
my dependencies (they partially are not open source)
"devDependencies": {
"babel-eslint": "^7.0.0",
"bower": "~1.4.1",
"eslint": "^3.7.1",
"eslint-plugin-bem-xjst": "^2.0.0",
"eslint-plugin-react": "^6.4.1",
"deps-formatter": "^0.4.0",
"gemini": "4.14.0",
"gemini-gui": "4.5.0",
"gemini-optipng": "1.0.0",
"gemini-faildump": "^2.0.0",
"gemini-tunnel": "^1.0.0",
"islands-tools": "4.x.x",
"git-hooks": "~1.0.0",
"csscomb": "~3.1.8",
"cssl": "~0.4.0",
"yaspeller": "~2.7.0",
"bemhint": "^0.5.0",
"bemhint-plugins": "^0.5.0",
"bemhint-estree": "0.0.1",
"babel-core": "^6.11.4",
"babel-loader": "^6.2.5",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.11.1",
"css-loader": "^0.24.0",
"react": "^15.1.0",
"react-dom": "^15.1.0",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"skip-validator": "1.1.0"
private islands-tools package.json:
"dependencies": {
"autoprefixer": "^6.4.1",
"bem-matchers": "^1.0.2",
"bem-naming": "^0.5.1",
"bh": "^3.3.0",
"bless": "^4.0.0-alpha.0",
"borschik-tech-istanbul": "^0.3.0",
"chalk": "^1.1.1",
"console-assert": "^1.0.0",
"console-polyfill": "^0.2.2",
"debug": "2.2.0",
"ecstatic": "^1.1.3",
"enb": "^1.3.0",
"enb-bem-docs": "^0.11.0",
"enb-bem-examples": "^1.0.1",
"enb-bem-i18n": "^1.1.0",
"enb-bem-techs": "^2.1.0",
"enb-bem-tmpl-specs": "^1.2.0",
"enb-bemxjst": "^6.1.0",
"enb-bemxjst-1x": "^2.2.0",
"enb-bemxjst-4x": "^4.2.0",
"enb-bemxjst-6x": "^6.5.1",
"enb-bemxjst-7x": "^7.0.0",
"enb-bh": "^1.2.0",
"enb-borschik": "^2.1.0",
"enb-debug": "^0.1.1",
"enb-magic-factory": "^0.5.0",
"enb-magic-platform": "^0.7.0",
"enb-postcss": "^1.1.0",
"glob-stream": "5.3.2",
"inherit": "^2.2.2",
"jasmine-ajax": "^3.1.1",
"jasmine-core": "~2.4.1",
"jasmine-jquery": "^2.0.6",
"karma": "https://github.com/yandex-lego/karma/archive/feature/listenaddr-npm.tar.gz",
"karma-coverage": "^0.5.0",
"karma-i-ua": "^0.1.0",
"karma-jasmine": "0.3.6",
"karma-jasmine-i-global": "^0.1.0",
"karma-jasmine-i-request": "^0.1.0",
"karma-jquery": "^0.1.0",
"karma-jquery2": "^0.1.0",
"karma-junit-reporter": "^1.0.0",
"karma-mocha": "^0.2.0",
"karma-mocha-reporter": "^1.0.0",
"karma-wait-for-load": "^0.1.0",
"karma-webdriver-launcher": "^1.0.4",
"lodash": "^3.2.0",
"postcss-browser-reporter": "^0.5.0",
"postcss-csso": "^1.1.2",
"postcss-import": "^8.1.2",
"postcss-reporter": "^1.4.1",
"postcss-url": "^5.1.2",
"resolve": "^1.1.6",
"stylus": "^0.52.0",
"vow": "^0.4.4",
"vow-fs": "^0.3.2"
},
"devDependencies": {
"bower": "^1.4.1",
"islands-codestyle": "^6.0.0",
"yaspeller": "~2.7.0"
},
Fixed via #2116.
@kittens
Fixed via #2116.
b4 just (re)opening ...
Is the following still evidence of this^ issue, unresolved? Or a new issue?
yarn add chokidar@^1.7
yarn add v0.24.6
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
โโ [email protected]
Done in 5.30s.
yarn add --ignore-optional chokidar@^1.7
yarn add v0.24.6
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved 0 new dependencies.
Done in 5.07s.
I am still getting this error. I am using the latest version 0.27.5 on Windows.
Error running install script for optional dependency: "C:\\Users\\igvuk\\Desktop\\Projects-git\\Ultimate React Boilerplate\\node_modules\\node-zopfli: Command failed.\nExit code: 1\nCommand:
C:\\WINDOWS\\system32\\cmd.exe\nArguments: /d /s /c node-pre-gyp install --fallback-to-build\nDirectory: C:\\Users\\igvuk\\Desktop\\Projects-git\\Ultimate React Boilerplate\\node_modules\\node-zopf
li\nOutput:\nnode-pre-gyp info it worked if it ends...
@Igor-Vuk that looks more like a node-gyp
issue to me.
@BYK it seems you are right. It happens when I install compression-webpack-plugin.
[1] jubayed@server> sudo yarn upgrade /srv/myforum/myforumbd.github.io
yarn upgrade v0.15.1
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
error ENOSPC: no space left on device, mkdir '/srv/myforum/myforumbd.github.io/node_modules/acorn'
info Visit http://yarnpkg.com/en/docs/cli/upgrade for documentation about this command.
[1] jubayed@server>
yarn install command not work
@jubayed error ENOSPC: no space left on device, mkdir
@2075 npm -v problem .
Seeing the exact same output as @pgnd with yarn 0.27.5
I also see the same as @pgnd:
$ yarn add --ignore-optional chokidar@^1.7
yarn add v1.1.0
warning package.json: No license field
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved 0 new dependencies.
warning No license field
Done in 0.42s.
$ yarn -v
1.1.0
$
Same here on my production server, where as on my MacOS no issue with npm or yarn. I'm using latest nodeJs tried with 6 and 8, and i'm using latest Yarn 1.2.1.
yarn install v1.2.1
[1/4] Resolving packages...
[2/4] Fetching packages...
error [email protected]: The platform "linux" is incompatible with this module.
error Found incompatible module
or this:
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! notsup Valid OS: darwin
npm ERR! notsup Valid Arch: any
npm ERR! notsup Actual OS: linux
npm ERR! notsup Actual Arch: x64
encore production
sh: 1: encore: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] prod:encore production
npm ERR! spawn ENOENT
same issue with latest yarn 1.3.2, node 8.x
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] Linking dependencies...
[5/5] Building fresh packages...
Same issue as @gkatsanos
@MatrixOfDeath - Any lines with npm ERR!
at the start are coming from npm, not Yarn.
@gkatsanos That just looks like a warning, not an error. It's legitimate, as fsevents doesn't work on Linux (only on MacOS).
Daniel, but, see all other messages above..
I was trying to install the browser-sync
and it returned me the same error... stays on this screen and nothing happens...
yarn add --dev browser-sync
yarn add v1.3.2
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[1/1] โ uws
[-/1] โ waiting...
[-/1] โ waiting...
[-/1] โ waiting...
[-/1] โ waiting...
OS: Windows 10
yarn: v1.3.2
node: v8.9.4
npm: v5.6.0
Most helpful comment
Same here on my production server, where as on my MacOS no issue with npm or yarn. I'm using latest nodeJs tried with 6 and 8, and i'm using latest Yarn 1.2.1.
or this:
npm ERR! code EBADPLATFORM npm ERR! notsup Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm ERR! notsup Valid OS: darwin npm ERR! notsup Valid Arch: any npm ERR! notsup Actual OS: linux npm ERR! notsup Actual Arch: x64