我有一个Rails 4.1项目,运行在RVM下,依赖于Rails引擎。Bundler希望重新安装rails引擎作为gem
在主应用程序的Gemfile中,我参考发动机:
宝石的车库',路径:“/ SRV/web应用/车库”
发动机被部署到该目录,而不是作为一个打包的.gem文件,但所有的文件解压缩 - 它包含在顶层,它自己的Gemfile,garage.gemspec和目录应用程序库规范...
当在父级中运行“包”应用程序,它将中止此消息:
变量Errno :: EACCES:P ermission denied @ rb_sysopen - garage-0.0.6.gem 安装garage(0.0.6)时发生错误,并且Bundler无法继续。 确保gem install garage -v '0.0.6'
在捆绑之前成功。
(即版本号匹配由“车库”发动机要求保护的版本号)。
然而,应用程序运行得很好 - 它发现宝石(路径指向的Gemfile中)。
那么,为什么捆扎机试图使本地已经安装了宝石的另一个副本?并且,它在什么路径上获得“权限被拒绝” - 这是一个难题,因为我是主应用程序和引擎的部署目录中每个文件的所有者,并且也具有对/ usr/local/rvm的写入权限。
请发布命令的输出_full_你跑了。 – 2014-10-02 05:07:56
Heisenbug?问题没有复发,但自从最初发布以来,我只部署了一次这个应用程序。如果它再次发生,我会在这里返回更详细的信息。 – 2014-11-12 20:41:19
看看这个宝石,它可以帮助从本地来源的宝石工作:https://github.com/EPI-USE-Labs/git-bundle – 2016-07-01 16:25:14