2017-01-16 32 views
3

我試圖運行bundle install,我得到了以下錯誤消息(附截圖):寶石:: InstallError:在「nio4r」本土寶石需要安裝編譯工具

Gem::InstallError: The 'nio4r' native gem requires installed build tools. 

Please update your PATH to include build tools or download the DevKit 
from 'http://rubyinstaller.org/downloads' and follow the instructions 
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit' 

An error occurred while installing nio4r (1.2.1), and Bundler cannot continue. 
Make sure that `gem install nio4r -v '1.2.1'` succeeds before bundling. 

When the installation fails

所以後來,我運行gem install nio4r -v '1.2.1',並按照下面的截圖完美安裝。 When the installation succeeds

我已設置的路徑如下: The paths screenshots

+0

您是否安裝了DevKit? – thesecretmaster

+1

是的,我已經安裝。 –

+0

如果您嘗試以管理員身份運行cmd,行爲是否會改變? – whodini9

回答

2

不知何故,您正在與兩個不同的Ruby安裝進行交互,後來在PATH上安裝了Bundler。

一旦安裝Devkit,must install Devkit消息將從安裝中完全刪除。

嘗試運行where.exe bundle以查看Bundler可執行文件所在的位置,然後運行where.exe gem以查看RubyGem可執行文件的位置並進行比較。

如果您有兩個不同的gem可執行位置,那麼您可能只需使用gem install bundler即可快速解決問題。

+0

我得到以下內容:'C:\ Bitnami \ ruby​​stack-2.2.6-0 \ ruby​​ \ bin \ bundle C:\ Bitnami \ ruby​​stack-2.2.6-0 \ ruby​​ \ bin \ bundle .bat' –

+0

是你在哪裏安裝了你想使用的Ruby?我會在答案中增加更多內容,以澄清你需要檢查的內容。 – Azolo

+0

是的,這是Ruby的安裝位置 –

1

我除去64位和安裝了32位Ruby和它工作得很好。儘管我有DevKit 64-bit,但它不需要我必須安裝32位Devkit。

0

嘗試了這一點:

手動從rubygems.org下載最新.gem文件。 使用gem install nio4r-x.x.x.gem安裝

+0

我試過手動安裝它,它工作。然後,當我再次使用'bundle install'時,它失敗了 –

+0

@SuthanBala你在同一個gemset中安裝gem嗎?請在Gemfile中指定已安裝的'nio4r'版本。 –

+0

是的,我安裝了與失敗相同的版本。我已經安裝了'1.2.1' –

0

我有同樣的問題。我從rubby website下載開發工具包,並按照here的說明操作。安裝DevKit後,問題已解決。我的操作系統是Win64X,我相應地安裝了Ruby-2.3.3-64X。