当我尝试进行捆绑安装时,我的gem_path和gem_home指向/ usr / local / rvm / gems /,我没有写入权限,但由于权限无效而失败。因为这个我已经改变了两个路径到我有写访问权的本地目录。
这样做时,我会进行捆绑安装,我得到:
bruno@test6:~$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Bundler::GemspecError: Could not read gem at /afs/varda.io/user/b/br/bruno/test6/cache/rake-10.1.0.gem. It may be corrupted.
An error occurred while installing rake (10.1.0), and Bundler cannot continue.
Make sure that `gem install rake -v '10.1.0'` succeeds before bundling.
好吧,如果我安装了一个gem,它就可以了。
但捆绑不起作用;即使尝试删除它抱怨的缓存文件夹。
我确实尝试过“bundle install --no-cache”,它以同样的方式失败。 (bundle install --deployment也可以正常工作)如何让bundle install工作?
我花了很多时间,如果有人有任何指导,我会非常感激!
答案 0 :(得分:19)
通过删除缓存文件并重新运行bundle install来修复它。
rm -rf< location_of_cache>。在你的情况下:
rm -rf /afs/varda.io/user/b/br/bruno/test6/cache
答案 1 :(得分:14)
好的,首先,您可以使用rvm(用户安装)轻松解决所有这些问题,请参阅http://rvm.io,如果这不是一个选项,您可以尝试使用特定于项目的gem路径。
例如,我有以下捆绑器配置文件(~/.bundle/config
)
---
BUNDLE_PATH: .bundle
BUNDLE_DISABLE_SHARED_GEMS: "1"
这会导致bundler在.bundle
子目录中安装所有gem(在项目文件夹中运行bundle install
)。现在,如果你记得使用bundle exec
作为你的箱子(例如上限(istrano)),你没事。
如果您以某种方式启动了捆绑器/缓存,请尝试删除.bundle
文件夹(在项目文件夹中)
答案 2 :(得分:1)
rvm reinstall all
为我工作。
在你这样做之前,我会尝试
gem update --system
gem pristine --all --no-extensions
请注意rvm reinstall all
需要花费大量时间才能完成......
答案 3 :(得分:1)
如果可行,我建议您在rvm
中安装自己的~/.rvm
副本,这样您就不会受制于系统版本。试图采用混合系统+用户方法可能会在以后引发更多麻烦。
或者,如果您对替代解决方案持开放态度,rbenv
是一个更精简的解决方案。清洁红宝石经理。
答案 4 :(得分:0)
尝试告诉bundler
必须使用哪个文件夹,例如bundle install --path <myfolder>
或bundle install --path gems
。
请注意,我还没有对此进行测试,但似乎很有希望,请将结果发布给我们。