質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

Q&A

解決済

1回答

331閲覧

gulpとejsを使っているのですが、、

po_tato

総合スコア97

cron

cronは、Unix系OS上でデーモンプロセスとして動作する、スクリプトの自動実行が可能なジョブスケジューラです。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

0グッド

0クリップ

投稿2018/01/31 10:10

編集2018/01/31 10:12

gulpとejsでhtmlを複数作る方法をサイトで見て、
参考サイト
ローカル環境、VPS環境下(手動コマンド入力)では成功したのですが、
cronで設定すると

[17:15:02] Using gulpfile /var/www/html/Test1/gulpfile.js [17:15:02] Task 'gulp' is not in your gulpfile [17:15:02] Please check the documentation for proper gulpfile formatting

このようなエラーログが表示されます。
ちなみにcron設定は以下です。

15 17 * * * cd /var/www/html/Test1;/root/.nodebrew/current/bin/gulp gulp ejs

cronについての設定は別質問として他の方々に教えて頂いているので、
できればGulpのエラーの理由などについて知っている方などおられたら
教えて頂けましたら幸いでございます。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2018/01/31 11:06 編集

エラーは、gulpfile に gulp というタスクがないと言っていますか、中身がわからないので、確認してみてください。
guest

回答1

0

ベストアンサー

イメージ説明

2つめのgulpを消しましょう。

ローカル環境、VPS環境下(手動コマンド入力)では成功した

そのときに使ったコマンドがgulp ejsだったのであれば、同じコマンドを設定すれば動くはずです。
「ちなみにcron設定は以下です…」に書いてある設定の途中にある/root/.nodebrew/current/bin/gulpの部分がgulp ejsgulpの部分にあたりますので、その後にはgulp ejsではなくejsと書きます。

投稿2018/01/31 12:06

編集2018/01/31 12:28
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

po_tato

2018/02/01 02:33

おおぉ!成功しました! ありがとうございます!感謝です! でも少し質問なのですが、例えばphpをcronで設定した時は、 10 16 * * * root /usr/bin/php /var/html/Test1/test.php のように 「root/user/bin/php」の部分は「which php」でコマンドパスを調べました。gulpも同じようにすると「/root/.nodebrew/current/bin/gulp」と出たのでそれを「gulp ejs」というコマンドの前に記述したのですが、何故「gulp」を一つ消すことになるのでしょうか?
miyabi-sun

2018/02/01 02:48

横から説明します。 Linuxのコマンドは第一小節がコマンド名から始まらなければなりません。 コマンドが打ち込まれると$PATHの左から順番に実行ファイルを探して実行します。 要するに「gulp」コマンドが存在するということはnpmでGulpをインストールすると、$PATHのディレクトリの配下の何処かにgulpという実行ファイルが生成されている為に、「gulp ejs」というコマンドを受け付けるようになるのです。 ただし、「/」や「./」等のディレクトリ名から始まるファイルを指定すれば、その実行ファイルを動作させる事を試みます。 今回cronに登録されているのは「/root/.nodebrew/current/bin/gulp gulp ejs」 つまり、gulpコマンドが登録されている状態での「gulp gulp ejs」と同じ意味になります。 gulpは2つ以上の引数を渡されると全てをタスクと認識して並列実行しようとします。 今回は「gulp gulp ejs」と書かれているのでgulpとejsという2つのタスクを実行しようとします。 所がgulpfile.jsにはgulpタスクなんて存在しないので、「gulpタスクが登録されてないやんエラー」が出ています。 回答欄を要約すると以上の前提情報を元に「/root/.nodebrew/current/bin/gulp ejs」に変更してください。 そうすれば「gulp ejs」というコマンドと同義になるのでエラーが解消されますよという事を簡潔に記載しています。
po_tato

2018/02/01 03:08

そうなんですね!理解しきれていませんでした、、 本当に分かりやすく本当に勉強になりました! cronのことだけではなく、gulpの使用方法についても勉強になりました! ありがとうございます!
退会済みユーザー

退会済みユーザー

2018/02/01 03:40

miyabi-sunさん、補足の説明ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問