gpt4 book ai didi

ruby-on-rails-4 - 使用 Vagrant & winnfsd 的输入/输出错误

转载 作者:行者123 更新时间:2023-12-04 12:47:22 25 4
gpt4 key购买 nike

我正在使用 vagrant-winnfsd在 Windows 8.1 主机上使用 Vagrant 添加 NFS 支持的插件。我正在运行 Ubuntu 14.04 guest 。

我正在使用此设置来运行 Rails 应用程序。除了 Rails/Carrierwave 尝试从 tmp 目录中删除文件时,一切都运行良好,这会产生此错误:

Errno::EIO (Input/output error @ dir_s_rmdir - /vagrant/myproject/public/uploads/tmp/1421108602-18479-5242):

这是我的 Vagrant 文件的相关部分:
config.vm.network "private_network", type: "dhcp"
config.vm.synced_folder ".", "/vagrant", type: "nfs"

关于如何解决这个问题的任何想法?

最佳答案

我终于能够通过使用 this approach 来解决这个问题。在其中一张 GitHub 票证中建议。

基本上它涉及将 Rails 和 Carrierwave 指向/vagrant 文件夹之外的目录,以将 tmp 文件转储到其中,以避免遇到任何锁定/权限问题:

# config/initializers/01_patch_tmpdir.rb

class Dir
def self.tmpdir
'/home/vagrant/rails_tmp/'
end
end

CarrierWave.configure do |config|
config.cache_dir = '/home/vagrant/uploads_tmp/tmp/uploads'
config.root = '/home/vagrant/uploads_tmp/tmp'
end

ENV['TMPDIR'] = Dir.tmpdir

您现在可以继续将该文件添加到您的 .gitignore 中,这样它就不会妨碍其他人在您的项目上工作。

关于ruby-on-rails-4 - 使用 Vagrant & winnfsd 的输入/输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com