2017-08-29 94 views
0

我正在開發無頭虛擬機,並將主機Rubymine配置爲通過VirtualBox的NAT接口使用遠程SDK。在ssh cli會話啓動時,遠程SDK啓動rails服務器退出

配置遠程SDK後,我的運行/調試配置看起來很好。當我啓動服務器,它返回以下輸出

/usr/bin/ruby -e '$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)' /home/user/project/bin/rails server -b 0.0.0.0 -p 3000 -e development 
git://github.com/rails/sprockets-rails.git (at [email protected]) is not yet checked out. Run `bundle install` first. 

Process finished with exit code 11 

當我火了相同的命令,ssh'ed到VM服務器啓動正常

的SDK似乎工作;它調用/usr/bin/ruby這是正確的路徑(無RVM)

安裝的gem LIB應該是正常的,因爲一切都在SSH命令行工作

Gemfile相關線

gem 'sprockets-rails', github: 'rails/sprockets-rails' 
ruby '2.3.1' 
gem 'rails', '~> 4.2' 

的寶石安裝在~/.gem/ruby/2.3.0/bin/

輸出運行bundle install的建議是沒用的,因爲我在cli中工作了。這似乎是魯米姬需要調整。有沒有人知道我能做些什麼?

回答

0

找到答案!

原因是源較少的點文件(參見man bash和搜索non-interactive

我就知道它有沒有關係的RubyMine時,我想我的主機系統上的非交互的shell會話:

ssh [email protected] "/usr/bin/ruby /home/user/project/bin/rails server -b 0.0.0.0 -p 3000 -e development" 

該條規定的RubyMine做

相同的輸出也檢查ssh [email protected] "env"看到你的shell環境的變量。

man sshd 8說如何設置環境,使用~/.ssh/environment(在服務器上的文件,因爲手冊頁的sshd)來存儲key/value雙像KEY=value

此文件被讀入,在登錄時環境(如它存在)。它可以只包含空行,註釋行(以'#'開頭)和 表單名稱= value的賦值行。該文件只能由用戶寫入 ;它不需要其他人可讀。環境 默認情況下禁用處理,並且通過 PermitUserEnvironment選項進行控制。

注意PermitUserEnvironment選項,進入你的sshd.conf服務器上