【Laravel】SQLiteをWindowsで使う場合のエラー, touch is not recognized as~

man

困ってる人
LarabelでデータベースをSQLiteに変更したい
‘touch’ is not recognized as an internal or external command
というエラーが出るんだけどどうして?

こんにちは、ヨロと申します。

例えば「Windows」「コマンドプロンプト」で何か処理をしようとした際に、

「’touch’ is not recognized as an internal or external command」

こういったエラーメッセージが出てしまった場合、

僕の場合は「Laravel」使用中のデータベースを「SQLite」に変更して使いたくて、方法を調べていたところ、

大体どのサイトや「Qiita」などを見ていても、

「コマンドプロンプト」「touch database/database.sqlite」と入力しろと書いてあったため、いろいろと試してはいたのですが、

「’touch’ is not recognized as an internal or external command」というエラー表示が出て次に進めない、

という事で、自分で解決方法を調べてみたところ、非常に簡単に解決が出来たので、シェア。

【Laravel】SQLiteをWindowsで使う場合のエラー, touch is not recognized as an internal or external command

まず始めにtouchコマンド」は、UNIX, Linuxベースのコマンド(*nix command)で、Windows用のコマンドではないという事、

じゃあ「Windows」でtouchコマンドを使うにはどうすればいいの?という事で、方法はいくつかあるみたいなのですが、僕の場合まず簡単だったのが、

「Node.js」「npm」を使うという方法、

僕はもう既に「Node.js」をパソコンに入れて使っていたので「コマンドプロンプト」で、

「npm install touch-cli -g」

これだけでOK。

そして再度「touch database/database.sqlite」と入力すれば「Windows」でも「touchコマンド」が使えるようになるはず。

詳細は、ここに詳しく書いてあるので、目を通してみるといいかも。

https://stackoverflow.com/questions/36126269/touch-is-not-recognized-as-an-internal-or-external-command-operable-program-o

なので、やり方としては、

  • 「Node.js」をインストール
  • コマンドプロンプトで「npm install touch-cli -g」
  • そして再度「touch database/database.sqlite」を試してみる
  • 「Node.js」のインストールは「ここ」から。

    もしそれでも動かない場合は、こういった所にも目を通してみるといいかも。

    https://stackoverflow.com/questions/30011267/windows-equivalent-of-touch-i-e-the-node-js-way-to-create-an-index-html

    https://blog.jongallant.com/2016/11/windows-touch-equivalent/

    終わり。