2016-03-21 71 views
0

我有2個env.rb文件(用於桌面瀏覽器和移動瀏覽器),它具有完成所有必需的環境相關設置。從env.rb文件加載gem中的問題

下面的行在env.rb文件中都存在,但當它包含在文件(移動瀏覽器)中時,它不起作用。這些是使用的標準寶石。

require 'time_diff' 
require 'rubyXL' 
require 'Prawn' 

所有雖然文件是完全不同的,包括幾個外部庫一樣,我們在運行Appium腳本時,得到下面的錯誤。

cannot load such file -- time-diff (LoadError) 

任何想法在哪裏尋找問題?

編輯:

在這兩個文件的區別如下。除了這些行之外,其他行與正常變量賦值和配置文件處理有關。

文件1:

$LOAD_PATH<< File.expand_path('../features/DesktopWeb/pages', 'common.rb') 

文件2:

$LOAD_PATH<< File.expand_path('../features/MobileWeb/pages', 'common.rb') 
+0

我有一種感覺,你'需要時間差'而不是'需要time_diff'(注意下劃線與連字符) – engineersmnky

+0

甚至對於RubyXL gem和Prawn也會出現這個問題。當包含在桌面版本的env.rb文件中時,所有工作都很好。 – Purus

+0

然後需要更多代碼來確定問題。 – engineersmnky

回答

0

我面臨同樣的問題,我想下面的步驟,解決了我的問題。

在Gemfile中添加所有寶石。

require 'time_diff', 
require 'rubyXL', 
require 'Prawn', 

運行「gem install bundler」這將安裝捆綁器。

從放置Gemfile的項目目錄運行「bundle install」。

這將安裝所有的寶石,並有依賴項的寶石。 然後嘗試運行您的代碼...

希望這可以解決您的問題。