3
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-06-08

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がないよーって言われました。

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

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

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

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

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

ほら。入ってる。

PATHを通さんとダメやん

そうそう。Cronで動かす際にそのコマンドが

  • /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 ...

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

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0