質問編集履歴

1 内容の修正

kawaramuu

kawaramuu score 21

2018/11/30 16:02  投稿

launchdを使用してOpen3.capture3(Ruby)が実行できない
2秒おきにjavaファイルのgradle buildを行いたいです。
一定間隔でjavaファイルのgradle buildをスクリプトを用いて行いたいです。
エラー内容は以下の通りです。
```
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/open3.rb:211:in `spawn': No such file or directory - gradle (Errno::ENOENT)
   from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/open3.rb:211:in `popen_run'
   from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/open3.rb:99:in `popen3'
   from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/open3.rb:279:in `capture3'
   from /Users/(個人名のため消しています)/Desktop/GradleTest/launch_gradle_build.rb:43:in `<main>'
```
launch_gradle_build.rbの43行目は以下の通りです。
```Ruby
run_result = Open3.capture3("gradle build")
```
また、元のplistファイルは以下の通りです。
```plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>interval_2sec</string>
   <key>ProgramArguments</key>
   <array>
       <string>ruby</string>
       <string>/Users/(個人名のため消しています)/Desktop/GradleTest/launch_gradle_build.rb</string>
   </array>
   <key>StartInterval</key>
   <integer>2</integer>
   <key>StandardOutPath</key>
   <string>/Users/(個人名のため消しています)/Desktop/GradleTest/sclipt/test.out</string>
   <key>StandardErrorPath</key>
   <string>/Users/(個人名のため消しています)/Desktop/GradleTest/sclipt/test.err</string>
</dict>
</plist>
```
launchdを使用せずに、ターミナル上で実行するとエラーなく実行可能です。
初歩的に質問かもしれませんが、この問題の解決方法をご存知の方は教えていただきたいです。
launchdを使用せずに、launch_gradle_build.rbをターミナル上で実行するとエラーなくbuildを可能です。
初歩的に質問かもしれませんが、この問題の解決方法をご存知の方は教えていただきたいです。
よろしくお願い致します。
  • Ruby

    15920 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • MacOS(OSX)

    3851 questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る