2017-09-25 78 views
1

我在我的應用程序中使用earnshark_sdk 0.2.0 ruby​​ gem,現在我想使用最新版本0.2.1。所以我試着做以下Bundler尋找舊版寶石

的Gemfile:

gem 'earnshark_sdk', '~> 0.2.1' 

我做了一個bundler update

由於應用程序被dockerized,我嘗試去容器內,並刪除舊版本並安裝新的。

gem list顯示earnshark_sdk (0.2.1)

當我docker-compose up它給

enter image description here

我是新來的Ruby和泊塢窗,任何建議將受到歡迎。

謝謝!

回答

0

答疑我自己的問題,

我的碼頭容器無法檢測到我的gemfile,通過定義g的默認路徑在撰寫emfile我能夠解決這個問題。

增加了一個卷安裝在泊塢窗,compose.yml

volumes: 
    - /e/Workspaces/MyApp/src/Gemfile:/home/app/webapp/Gemfile 
2

你看到它,因爲在你的系統中你有一個版本的寶石,但在碼頭集裝箱另一個版本。
所以你需要在Docker容器中運行bundle install。 要做到這一點,你需要寫道:
docker exec -it <your container name/id> <command which you want to run>

你的情況:
docker exec <container name\id> gem list - 檢查內部容器
docker exec <container name\id> bundle install寶石 - 安裝內部容器
寶石你可以閱讀一下 here

+1

要找到容器名稱/ ID,你需要運行'泊塢窗ps' – dendomenko

+1

你的意思是在這裏第2行'束install'? – lacostenycoder

+1

是的,現在會修復它 – dendomenko