Ruby on rails 自定义本地gem:Bundler::GemNotFound:找不到gem
我在创建我的第一块Ruby gem的同时也在关注。在这里描述的步骤4的末尾,有一个文件Ruby on rails 自定义本地gem:Bundler::GemNotFound:找不到gem,ruby-on-rails,ruby,docker,rubygems,Ruby On Rails,Ruby,Docker,Rubygems,我在创建我的第一块Ruby gem的同时也在关注。在这里描述的步骤4的末尾,有一个文件my_gem-0.0.gem。目前,我希望将这个gem保存在本地,因此我尝试将它放在rails项目根目录下的gems目录中 在Gemfile中,我添加了这一行: gem 'my_gem', path: 'gems' 我们使用Docker,当我尝试启动此容器时,我发现我的新gem未找到: Bundler::GemNotFound: Could not find gem 'my_gem' in the sourc
my_gem-0.0.gem
。目前,我希望将这个gem保存在本地,因此我尝试将它放在rails项目根目录下的gems
目录中
在Gemfile
中,我添加了这一行:
gem 'my_gem', path: 'gems'
我们使用Docker,当我尝试启动此容器时,我发现我的新gem未找到:
Bundler::GemNotFound: Could not find gem 'my_gem' in the source at `gems`
The source does not contain any versions of 'my_gem'
我尝试在文件名和
Gemfile
中添加/删除gem
扩展名和-0.0.1
部分,但没有任何效果。这里出了什么问题?要使用Docker,您需要将存储库从github克隆到您的自定义文件夹。在下面的示例中,重现我如何使用自定义路径编辑单独文件夹中的gem的步骤:
mkdir/gems
cd/gems
git克隆
。需要克隆,因为如果从计算机中的其他文件夹复制,可能会丢失一些文件gem',路径:'/bundle/custom_gems/'
添加。/app/gems/bundle/custom_gems
要使用Docker,您需要将存储库从github克隆到您的自定义文件夹。在下面的示例中,重现我如何使用自定义路径编辑单独文件夹中的gem的步骤:
mkdir/gems
cd/gems
git克隆
。需要克隆,因为如果从计算机中的其他文件夹复制,可能会丢失一些文件gem',路径:'/bundle/custom_gems/'
ADD./app/gems/bundle/custom_gems
您可以尝试为path
提供gem文件夹的路径,例如路径:“gems/my_gem”
?您还验证了docker build上是否存在gems/
文件夹吗?我的代码中的路径似乎是正确的。当我更改它时,错误消息更改为路径[…]不存在
。我怀疑这可能是Docker的问题,因为我意识到我可以在容器内执行gem安装--local/var/workdir/gems/my_gem-0.0.1。gem
运行gem安装--local/var/workdir/gems/my_gem-0.0.1。在Dockerfile
中执行gem会导致与上述类似的错误。您能否尝试给出path
的路径gem文件夹,例如路径:“gems/my_gem”?您还验证了docker build上是否存在gems/
文件夹吗?我的代码中的路径似乎是正确的。当我更改它时,错误消息更改为路径[…]不存在
。我怀疑Docker可能有问题,因为我意识到我可以在容器中执行gem安装--local/var/workdir/gems/my_gem-0.0.1。gem
在Docker文件中运行gem安装--local/var/workdir/gems/my_gem-0.0.1。gem
会导致与上述类似的错误。
volumes:
- ./app/gems:/bundle/custom_gems