Reactjs 开发服务器无法在 macos catalina 上启动

Reactjs development server won't start on macos catalina

我正在尝试使用 create-react-app 创建一个新的 react.js 项目。当我执行 yarn start 时,开发服务器没有启动,控制台给我这条消息:

Starting the development server...

dyld: lazy symbol binding failed: Symbol not found: _FSEventStreamCreate
  Referenced from: /Users/username/project/node_modules/fsevents/build/Release/fse.node
  Expected in: flat namespace

dyld: Symbol not found: _FSEventStreamCreate
  Referenced from: /Users/username/project/node_modules/fsevents/build/Release/fse.node
  Expected in: flat namespace

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

新创建的 react.js 项目会发生这种情况,旧项目不会。 我用 brew install node 安装并重新安装 node.js,我还重新安装了 create-react-app,但没有任何反应。

关于我的环境的信息:

  1. OS: macOS Catalina,版本 10.15.4 (19E266)
  2. 节点:v13.11.0
  3. create-react-app:版本 3.4.1
  4. 纱线:版本 1.22.4
  5. npm:版本 6.13.7

提前感谢您的完美回答

问题再次出现。为了解决这个问题,我只是去 brew website 并复制安装程序代码 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 然后一切都会再次运行

我遇到了类似的错误,不是在使用 React 时,而是在使用 Phoenix 和 Elixir 时。由于此问题是错误消息 Symbol not found: _FSEventStreamCreate 的唯一搜索结果之一,我将分享我的问题和解决方案:

我正在使用 MacOS Mojave 10.14.6 并尝试使用 Elixir 1.9.4 (compiled with Erlang/OTP 22)、Phoenix v1.4.10 创建一个 Phoenix 应用程序。问题是实时重新加载变得混乱:即使我没有进行任何更改,我的页面也会不断刷新。

查看我的服务器输出,我看到这样的事情一遍又一遍地重复:

[error] Task #PID<0.1149.0> started from RumblWeb.Endpoint terminating
** (stop) :watcher_command_error
    (phoenix) lib/phoenix/endpoint/watcher.ex:29: Phoenix.Endpoint.Watcher.watch/3
    (elixir) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Function: &Phoenix.Endpoint.Watcher.watch/3
    Args: ["node", ["node_modules/webpack/bin/webpack.js", "--mode", "development", "--watch-stdin"], [cd: "/Users/george/code/phoenix/programming_phx/rumbl/assets"]]

Webpack is watching the files…

...

dyld: lazy symbol binding failed: Symbol not found: _FSEventStreamCreate
  Referenced from: /Users/george/code/phoenix/programming_phx/rumbl/assets/node_modules/fsevents/build/Release/fse.node
  Expected in: flat namespace

dyld: Symbol not found: _FSEventStreamCreate
  Referenced from: /Users/george/code/phoenix/programming_phx/rumbl/assets/node_modules/fsevents/build/Release/fse.node
  Expected in: flat namespace

即webpack 出现错误,导致页面重新编译和重新加载,但这些错误的来源与 dyldfsevents.

有关

我不明白这个错误是什么意思,但是将我的 node 版本从 v12.10.0 升级到 v13.13.0 修复了它。

(不要忘记重启phoenix服务器,并确保mix phx.server所在的终端window是运行使用的是新的更新版本的node。 )

正在删除里面的 fsevents folder/folders。 'node_modules' 在 MacOS Mojave 上为我工作。 如果删除一个fsevent目录后还是失败,再删除当前路径下的fsevents文件夹,如报错。

删除了 node_modules/webpack-dev-server 对我有用的 fsevent 文件夹。