😸

json-serverで「--routes」実施時、「Unknown option '--routes'」が出力される

2025/01/25に公開

まず結論

  • 最新バージョンが「1.0.0-beta.3」だったため、--routesが存在しないコマンドになっていた。
  • 安定バージョンは「0.17.4」のため、こちらをインストールする。※2025/01/25現在
    bash
    $ npm remove json-server
    $ npm instal --save-dev json-server@v0.17.4
    

状況

  • reactでモックを利用しようとjson-serverをインストールしたが、「--routes」オプションを利用すると、「Unknown option '--routes'」が出力された。
  • 公式Githubを確認してもroutesのオプションが見当たらない
  • helpを確認してもコマンドは見たらない
    bash
    $ npx json-server --help
    $ Options:
    $   -p, --port <port>  Port (default: 3000)
    $   -h, --host <host>  Host (default: localhost)
    $   -s, --static <dir> Static files directory (multiple allowed)
    $   --help             Show this message
    $   --version          Show version number
    
  • エラー文言で表示したところ同様のIssuesを発見
    https://github.com/typicode/json-server/issues/1601

原因

  • どうやらバージョン指定せずライブラリをインストールするとbeta版がインストールされるらしい(「1.0.0-beta.3」がインストールされていた)
  • beta版には「--routes」コマンドがない

対策

  • 安定バージョン?は「0.17.4」のため、こちらをインストールする
    bash
    $ npm remove json-server
    $ npm instal --save-dev json-server@v0.17.4
    

結果

  • routesファイルが読み込まれてることを確認
    bash
    $ npx json-server --watch json-server/db.json --routes json-server/routes.json --port 3001
    $ curl localhost:3001/api/v1/words
      [
        {
          "id": 1,
          "question": "apple",
          "answer": "りんご",
          "level": 0
        }
      ]
    

反省

  • helpは確認しよう
  • タグ(バージョン)は確認しよう

Discussion