Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8825

Selenium IDEをcronで実行しようとした時に失敗した。 env: node: No such file or directory

$
0
0

Selenium IDEを Command-line Runnerで動かしCronで動かしたが

エラー内容

env: node: No such file or directory

チーン

解決策

パスを通す。

Selenium IDE使ってますか?

まぁまぁ自由度が高いし簡単に作れますし楽しいですね。

nodeがない

作成したSelenium IDEをコマンドライン1で実行しました。

定期実行させる為にcronで実行すると以下のエラーが表示。

env: node: No such file or directory

コマンドラインで動かすには以下のものがインストールされていないとダメです。

  • node version 8 or 10
  • npm
  • selenium-side-runner
  • 使用したいブラウザのドライバ

いやインストールしてるわ

これらのものはnodebrew経由でインストールしていたので、

$ ls ~/.nodebrew/current/bin/
chromedriver         nodebrew             npx
node                 npm                  selenium-side-runner

入ってる。

PATHを通さんとダメやん

そうそう。Command-line Runnerを使用する為に必要なものが

  • /usr/bin
  • /bin

以外にインストールされている場合は、明示的にPATHを通してあげないとダメなんですよね。
これたまにしかcronをしなかったりすると忘れるんですよね〜〜

なんでPATHを通さんといけんの?

ここで疑問。
cdとかrmコマンドは使えるやん。なんでcronになるとPATHを通さんといけんのよ!

気になりますね。

cronの環境変数を確認

cronの環境変数を確認してみます

00 13 ** 6 env> /tmp/cron_env.log // 土曜日の13時に確認したのでこんな時間指定。

はい、logに吐き出したので見てみると、

$ cat /tmp/cron_env.log 
SHELL=/bin/sh
USER=michida
PATH=/usr/bin:/bin
PWD=/Users/michida
SHLVL=1
HOME=/Users/michida
LOGNAME=michida
_=/usr/bin/env

環境変数で設定されているのは /usr/bin/binですね。

PATH通しました。

ということで1行目でパスを通しておきます。

PATH=/usr/bin:/bin:/Users/michida/.nodebrew/current/bin

00 12 ** 1-5 ...

他の環境変数を書き換えたい場合などは同じように記述しておけば大丈夫です。


Viewing all articles
Browse latest Browse all 8825

Trending Articles