Ruby on rails Bundler寻找gem的旧版本
我在我的应用程序中使用earnshark_sdk 0.2.0 ruby gem,现在我想使用最新版本0.2.1。所以我试着做了以下几点 档案:Ruby on rails Bundler寻找gem的旧版本,ruby-on-rails,ruby,docker,Ruby On Rails,Ruby,Docker,我在我的应用程序中使用earnshark_sdk 0.2.0 ruby gem,现在我想使用最新版本0.2.1。所以我试着做了以下几点 档案: gem 'earnshark_sdk', '~> 0.2.1' 我做了一个bundler更新 由于应用程序已停靠,我尝试进入容器中,删除旧版本并安装新版本 gem列表显示earnshark_sdk(0.2.1) 当我docker编写时它给出 我对ruby和docker都是新手,欢迎任何建议 谢谢 您看到它是因为在您的系统中有一个版本的gem,但
gem 'earnshark_sdk', '~> 0.2.1'
我做了一个bundler更新
由于应用程序已停靠,我尝试进入容器中,删除旧版本并安装新版本
gem列表
显示earnshark_sdk(0.2.1)
当我docker编写时
它给出
我对ruby和docker都是新手,欢迎任何建议
谢谢 您看到它是因为在您的系统中有一个版本的gem,但在docker容器中有另一个版本。
因此,您需要在docker容器内运行
bundle install
。
要做到这一点,您需要写:docker exec-it
在您的情况下:docker exec gem list
-检查容器内的gemdocker exec bundle安装
-在容器内安装gems你可以读到它回答我自己的问题 我的docker容器无法检测到我的gemfile,通过在compose中定义gemfile的默认路径,我可以解决这个问题 在docker-compose.yml中添加了卷装载
volumes:
- /e/Workspaces/MyApp/src/Gemfile:/home/app/webapp/Gemfile
要查找容器名称/id,您需要运行
docker ps
您的意思是在这里的第二行中安装bundle
?是的,我的docker容器中的gem列表也显示了earnshark_sdk 0.2.1。我也在那里安装了一个捆绑包。是的@dendomenkoca你能附上你的docker-compose.yml和Dockerfile吗?