红宝石捆绑器失败,并出现errno :: EROFS

时间:2018-12-11 00:17:59

标签: ruby bundler

在部署Rails应用程序时,我看到此错误:

@ app.route('/foo', methods=['POST'])
def foo ():
     pass

这与捆绑程序1.16.1和1.17.1一起出现。我当前的解决方法是恢复到捆绑程序1.15.1,可以正常工作。

我进行了研究,发现了X / Open的根本原因,其中将不同的错误定义为EACCES和EROFS。 Ruby似乎坚持了这一点,并正确地将文件系统报告为只读,而bundler只处理(即抢救)EACCES,而不处理EROFS。

相应的代码为:

Errno::EROFS: Read-only file system @ rb_sysopen - /ext/gems/2.3/bundler.lock
  /ext/gems/2.3/gems/bundler-1.17.1/lib/bundler/process_lock.rb:9:in `initialize'
  /ext/gems/2.3/gems/bundler-1.17.1/lib/bundler/process_lock.rb:9:in `open'
  /ext/gems/2.3/gems/bundler-1.17.1/lib/bundler/process_lock.rb:9:in `lock'
  /ext/gems/2.3/gems/bundler-1.17.1/lib/bundler/installer.rb:73:in `run'
...

因此,似乎代码明确规定了无法写入目标位置的情况,并且仅忽略了处理EROFS的情况。 我试图在1.16.1版本发布后告诉开发人员,但没有任何反应。处理此问题的正确方法是什么?

0 个答案:

没有答案
相关问题