2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Atom-runnerでrbenvが上手く動かない(未解決:暫定回避策あり)

Posted at

ターミナル上で実行する分には問題なく動く。
Atom-runnerで実行すると


`require': cannot load such file -- xxxxxxxxx

となり、Gemが見つからないようなので調べてみた。
ちなみにrubyはrbenvで入れています。

【原因】rbenvにPATHが通ってない

普段はzsh使いなので、rbenvの設定はbashには入れていない。
そのため、OSX標準のrubyが読み込まれていると思われる。

確認には下記のスクリプトをAtom-runnerで実行してみた。

test.sh
rbenv version
ruby -v
which ruby
echo $PATH
/Users/dancho/.homesick/repos/dotfiles/home/.atom/packages/atom-runner/examples/test-bash.sh: line 1: rbenv: command not found
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
/usr/bin/ruby
/usr/bin:/bin:/usr/sbin:/sbin

試行錯誤

1. .bashrcにrbenvの設定を入れてみる

~/.bashrc
eval "$(rbenv init -)"

ネットで調べると、Atom-runnerはbashで動いているらしいので、.bash_profileに設定をしてみた。

2.1.5 (set by /Users/dancho/.rbenv/version)
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
/usr/bin/ruby
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

一歩前進。rbenvのPATHは通ったが、rubyは相変わらずOSX標準。

2. Atomの設定ファイルを書き換えてみる

init.coffee
process.env.PATH = "#{process.env.HOME}/.rbenv/shims:#{process.env.HOME}/.rbenv/bin:#{process.env.PATH}"

ここで不思議な事態に。
Atom再起動直後はrbenvのPATHは通らなかったが、rubyはrbenvのものを向いている。

/Users/dancho/.homesick/repos/dotfiles/home/.atom/packages/atom-runner/examples/test-bash.sh: line 1: rbenv: command not found
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
/Users/dancho/.rbenv/shims/ruby
/Users/dancho/.rbenv/shims:/Users/dancho/.rbenv/bin:/usr/bin:/bin:/usr/sbin:/sbin

何度か繰り返しているとrbenvのPATHが通ったが、PATHの順番が入れ替わってしまった。

2.1.5 (set by /Users/dancho/.rbenv/version)
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
/usr/bin/ruby
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/dancho/.rbenv/shims:/Users/dancho/.rbenv/bin

継続調査中。。。

もう少しAtom-Runnerのソースを追ってみたい。

暫定回避策

#! /Users/xxxxx/.rbenv/shims/ruby

シバンで逃げた(汗
ちょっとしたスクリプトならこれでなんとかなるかも。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?