2017-09-25 75 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