如何修复'不支持的fsevents@1.2.9平台:通缉{“ os”:“ darwin”,“ arch”:“ any”}(当前:{“ os”:“ win32”,“ arch”:“ x64” })

adl*_*ler 22 npm ionic-framework

测试二进制Binary很好npm WARN回滚回滚node-pre-gyp@0.12.0失败(这可能是无害的):

EPERM:不允许操作,lstat'C:\ Users \ orca yoon \ Documents \ IonicProjects \ starters \ epic \ node_modules \ fsevents \ node_modules'

npm通知创建了一个作为package-lock.json的锁文件。您应该提交此文件。

npm警告可选的跳过可选依赖性:fsevents@1.2.9(node_modules \ fsevents):

npm WARN notsup跳过可选依赖项:fsevents@1.2.9不受支持的平台:wanted {“ os”:“ darwin”,“ arch”:“ any”}(当前:{“ os”:“ win32”,“ arch”: “ x64”})

从1050个贡献者中添加了1105个程序包,并在445.94s中对53269个程序包进行了审核,发现运行npm audit fix了1个严重漏洞来修复它们,或者npm audit详细信息

Wen*_* Li 28

  • 第一的,

管理员角色运行您的命令提示符powershell。然后你会被避免使用.PERMISSION ERROR

  • 第二,

忽略npm audit fix。它仅建议您将所有package.json依赖项更新为最新。您应该保留 中阐明的设置package.json

  • 第三,

如果你在 ubuntu 或 OS X 上工作,我猜你不会遇到这个问题。


PS:

根据您的回复,我想考虑一下解决方法。

  • 删除本地 node_modules&package-lock.json
  • 清理 npm 缓存 npm cache verify
  • 通过以下方式更新全局npmsudo npm i -g npm
  • 重新安装本地 node_modulesnpm i

希望这可能会有所帮助。

  • 以上不会有帮助。`fsevents` 是仅限 MacOS 的软件包,即使您删除 node_modules 文件夹并重新安装,此警告也不会消失。在我的应用程序 (vue.js v2.6) 中,这个 fsevents 是 `fuse.js` 的依赖,它用于任何事情。我刚刚习惯了这些警告。 (18认同)
  • > “如果您在 ubuntu 或 OS X 上工作,我猜您不会遇到这个问题。” 什么?Ubuntu是Linux,不是Darwin,当然你会面临同样的问题! (4认同)
  • 在 ubuntu 虚拟机上工作遇到了同样的错误。npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:fsevents@1.2.9 不受支持的平台:想要 {"os":"darwin","arch":"any"}(当前:{"os":"linux","arch": "x64"}) npm 动词 notsup SKIPPING OPTIONAL DEPENDENCY:有效操作系统:darwin npm verb notsup SKIPPING OPTIONAL DEPENDENCY:有效 Arch:任何 npm 动词 notsup SKIPPING OPTIONAL DEPENDENCY:实际操作系统:linux (2认同)
  • 我使用的是 Ubuntu 20.04,PS 对我来说运行良好 (2认同)

小智 23

当我今天遇到这个问题时,我阅读了第一个解决方案,但首先尝试了一件事

首先删除package-lock.json并目录node_modules

运行这些命令,它应该可以工作。

rm -rf node_modules package-lock.json
npm install
Run Code Online (Sandbox Code Playgroud)

就像一个魅力,也许它会帮助别人。


Vic*_*ona 12

我找到了一个解决方案,这就是我所做的:

打开你的package-lock.json

找到node_modules/fsevents,里面有一个叫做"os" 的东西,我只有这个:

 "os": [
        "darwin",
      ],
Run Code Online (Sandbox Code Playgroud)

所以我的操作系统是 windows 10 64 位我刚刚在“os”中添加了我的操作系统,结果是这样的:

 "os": [
        "darwin",
        "win32"
      ],
Run Code Online (Sandbox Code Playgroud)

然后保存并解决,这样做后我可以安装我试图安装但我不能安装的包。

  • 这看起来像是一个肮脏的黑客,但这是为我解决这个问题的唯一方法。谢谢 (4认同)
  • 这里也一样,一如既往的脏,但我会带着它走,哈哈 (3认同)
  • 这是我发现的解决此问题的侵入性最小的方法,并且它也适用于 Linux。维克多干杯,谢谢! (2认同)

小智 7

当在 ionic 或其他任何地方看到此类消息时,请运行npm audit fix并查看您是否可以成功地按照给定的建议解决所有“高严重性漏洞”问题并将生成的更新依赖项贡献回给定的代码库。

这里发生的事情是一个名为的包chokidar被用于“监视”文件系统目录以获取“事件”(例如添加的文件)。chokidar是 Linux、Windows 和 Mac 特定的文件系统监视包的包装器,它fsevents是 Mac 的变体。所以,我很确定使用的任何东西chokidar都将fsevents作为可选依赖项,但正如其他人所说,WARN可以安全地忽略此消息,因为它chokidar支持所有常见的桌面架构。


Joe*_*hew 6

如果像我一样,您因为同时使用两个不同的包管理器(例如,yarn 和 npm)而遇到此问题,则只需删除锁定文件并重新运行包管理器即可。

rm package-lock.json
Run Code Online (Sandbox Code Playgroud)

下次运行包管理器时将重新生成锁定文件。我在尝试使用 升级软件包时遇到此错误npm upgrade。删除锁定文件后,升级顺利进行,并且锁定文件已正确创建。