我在中国的服务器上执行了Redmine的捆绑安装,我已经在gemfile和镜像中将https://rubygems.org替换为https://gems.ruby-china.org/,如下所示:
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
还有我的Gemfile,所以它看起来像这样:
#source 'https://rubygems.org'
source 'https://gems.ruby-china.org/'
但是在运行捆绑安装后重新安装实际上我收到了以下消息:
您的软件包已锁定到json(1.8.6),但该版本无法访问 在Gemfile中列出的任何源中找到。如果你还没有 改变了来源,这意味着json(1.8.6)的作者删除了它。 您需要将捆绑包更新为不同版本的json (1.8.6)尚未删除以便安装。 (捆扎机:: GemNotFound)
虽然我可以确认1.8.6是这样安装的:
gem list
...
json (1.8.6, 1.8.3)
就像这样:
bundle show json
/home/redminedev/.rvm/gems/ruby-2.3.3/gems/json-1.8.6
这是rvm list gemsets的列表:
rvm list gemsets
rvm gemsets
=> ruby-2.3.3 [ x86_64 ]
ruby-2.3.3@global [ x86_64 ]
我尝试删除.bundle目录,删除gemfile,清除并重新安装所有宝石......没有任何效果。有什么建议吗?
答案 0 :(得分:1)
这最终解决了我的问题,感谢atombender的回答: https://github.com/bundler/bundler/issues/5068#issuecomment-259580704
我已经表演过:
bundle install --deployment