npm WARN notsup跳过可选依赖项:fsevents@1.0.14不受支持的平台


113

我将 minimatch版本更新为3.10.9后,尝试运行此项目https://github.com/Soundnode/soundnode-app,我收到此错误

npm警告可选跳过功能:fsevents@^1.0.0(node_modules \ webpack \ node_modules \ watchpack \ node_modules \ chokidar \ node_modules \ fsevents):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:不支持的平台{{1.0。“ os“:” darwin“,” arch“:” any“}(当前:{” os“:” win32“,” arch“:” ia32“})

我的配置是Node v-4.4.2 npm v- 3.10.9 im在32位Windows OS上工作


1
对我来说听起来不像是错误-尽管如此,您在运行代码时是否遇到困难?npm WARN就是这样-一个警告可能值得关注,但实际上并没有破坏任何警告。
Aurora0001 '16

2
而且,此警告仅告诉您未安装可选依赖项,因为您的平台不符合要求。在这种情况下,它正在寻找darwin,而您正在使用win32
Dave V

它的一个咕project的项目,运行此命令“ npm install -g grunt-cli”后,当我收到此警告时,我尝试运行npm install
Aishwary Tiwari

1
@AishwaryTiwari,您实际上收到了错误消息,还是代码不起作用?警告不太可能是一个实际的问题,因为(如错误消息所示)警告跳过了可选的依赖项。
Aurora0001

1
有一个拉取请求可以解决该问题:github.com/npm/npm/pull/19198您可以订阅该拉取请求,以便在关闭时获得更新。
RiZKiT

Answers:


150

这是警告,不是错误。发生是因为fsevents是一个可选的依赖项,仅当项目在macOS环境上运行时才使用(该软件包提供“对Mac OS-X FSEvents的本地访问”)。

由于您是在Windows上运行项目, fsevents被忽略了。

有PR可以在这里解决此问题:https : //github.com/npm/cli/pull/169


35
是不是可选的并且依赖于自身的东西呢?
Martijn Burger

7
那更多是一个理论问题。也许conditional dependency会更好?命名很难。我想在保持简洁的同时为这个案例找到一个好名字并不容易。
piotr.d

10
npm install --no-optional
suiwenfeng

5
我完全同意,@ DemPilafian。因此,我编辑了原始回复,并删除了“仅”。我个人将警告视为错误,但是在这种情况下,恕我直言,这不应记录为警告,而应记录为信息,因为在Windows环境中,您无法采取任何措施使警告消失。
piotr.d

23
好的答案,现在我该如何摆脱它?
TetraDev

32

这似乎仍然是一个问题,由于“不受支持的平台”,导致软件包安装被中止,并发出有关未安装可选软件包的警告。

该问题与“ shrinkwrap”有关,或者package-lock.json在每次执行包管理器后都会持续存在。随后的尝试一直失败,因为该文件被引用而不是package.json

将这些选项添加到npm install命令应允许软件包再次安装。

   --no-optional argument will prevent optional dependencies from being installed.

   --no-shrinkwrap argument, which will ignore an available package lock or
                   shrinkwrap file and use the package.json instead.

   --no-package-lock argument will prevent npm from creating a package-lock.json file.

完整的命令如下所示:

    npm install --no-optional --no-shrinkwrap --no-package-lock

欢乐!


1
--no-optional为仅用于消除警告的代码设置-flag 是否有风险?为什么默认不设置?
cederlof

5
这不是解决方案,因为使用package-lock.json是一件好事,而该解决方案则相反。
ismailarilik

@ismailarilik此解决方案使我可以安装软件包,以便继续进行工作。
nickl-

“ --no-optional”是一个非常非常糟糕的主意。通常可以忽略警告。您也可以使用npm install -fgithub.com/angular/angular/issues/13935
FoggyDay

12

使用参数--force:

npm i -f

2
我确实使用该命令强制安装一次,现在启动时npm install我没有任何警告了!
Allenile

1
运行该命令时出现一些错误,但是重新运行npm安装后,警告消失了!谢谢你先生
ccoutinho

因此,您要在项目中安装那些无用的依赖项(在Windows计算机中)以消除警告?如果是这样,我希望在生产大楼摆脱摇晃的树木。我喜欢解决方法。它消除了我屏幕上与苹果有关的东西。
Josep Alacid
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.