Embluk v0.10.23 で gem コマンドを実行したところ「JRuby is not configured well to run "gem". Configure the Embulk system property "jruby".」と出て使えなかった

前提

以下の環境です。

  • Raspberry Pi 4B
  • Ubuntu 20.04 (64bit)
  • Java のバージョンは 1.8.0.275

結論

v0.10.23

v0.10.23 で例えば $ embulk gem list と実行すると以下のようなエラーが出ます。

$ embulk gem list
JRuby is not configured well to run "gem". Configure the Embulk system property "jruby".

v0.9.23

v0.9.23 で同じコマンドを実行すると期待通りにリストが出てきます。

$ embulk gem list
2021-01-14 09:00:04.391 +0900: Embulk v0.9.23

Gem plugin path is: /home/hoge/.embulk/lib/gems

io/console on JRuby shells out to stty for most operations

*** LOCAL GEMS ***

bundler (1.16.0)
did_you_mean (default: 1.0.1)
embulk (0.9.23 java)
jar-dependencies (default: 0.3.10)
jruby-openssl (0.9.21 java)
jruby-readline (1.2.0 java)
json (1.8.3 java)
liquid (4.0.0)
minitest (default: 5.4.1)
msgpack (1.1.0 java)
net-telnet (default: 0.1.1)
power_assert (default: 0.2.3)
psych (2.2.4 java)
rake (default: 10.4.2)
rdoc (default: 4.2.0)
test-unit (default: 3.1.1)

補足

コマンドオプションである -X をつけて、適切な key, value を渡せば回避できるのかと思います。

$ embluk --help
Usage: embulk [common options] <command> [command options]

Commands:
(中略)

Common options:
(中略)
   -X KEY=VALUE              Set Embulk system properties
   -R OPTION                 Command-line option for JRuby. (Only '--dev')

VS Code のデバッグツールで Yarn の ウォッチ を走らせる

本来的な使い方ではないですが、応用が効くかもしれませんので記しておきます。

やりたいこと

VS Code のデバッグツールを使って、例えば $ yarn webpack:watch のようなコマンドを裏で走らせたままにしておきたい。

結論 (launch.json)

上記のことをやるためには以下のような launch.json を書きます。

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Yarn de Watch",
      "runtimeExecutable": "yarn",
      "runtimeArgs": ["webpack:watch"],
      "sourceMaps": false,
      "trace": true,
      "outputCapture": "std"
    }
  ]
}

結果

以下のように継続的にウォッチをしてくれます*1outputCapturestd にしているので、標準出力も表示されています。

f:id:gregminster:20210113191933p:plain

f:id:gregminster:20210113191935p:plain

参考

code.visualstudio.com

code.visualstudio.com

*1:文字化けしてますが……

WSL2 環境で RSpec (Capybara) で「Webdrivers::BrowserNotFound: Failed to find Chrome binary.」エラーが出るとき

前提条件

google-chromechromedriver*1 はインストール済みとします。

結論

rails_helper.rb に以下の行を追加します。chromedriver のパスは個々人のインストール場所によって書き換えます。

Selenium::WebDriver::Chrome::Service.driver_path = '/usr/bin/chromedriver'

補足

解決策の一つの例であり、この方法では解決しないかもしれません。

参考

WSL Ubuntu 上で chromedriver を使った System Spec を動かす

*1:WindowsのものではなくLinuxのもの

rclone で Google フォト にアルバム指定でアップロードする際には、そのアルバムは rclone で作られている必要がある

結論

標題通りです。rclone 経由以外で作られたアルバム*1 を指定してアップロードしようとすると 、以下のようなエラーになります。

$ rclone copy ./hoge remote_google_photos:/album/fuga
2021/01/10 18:03:55 ERROR : foobar.jpg: Failed to copy: google photos API only allows uploading to albums rclone created

したがって、$ rclone mkdir コマンドを使ってアルバムを作る必要があります。

参考

rclone.org

github.com

*1:例えば Web UI 経由で作られたアルバム

Powered by はてなブログ