【问题标题】:How to fix "Insecure world writable dir /mnt/c in PATH, mode 040777" error after running "rails s"运行“rails s”后如何修复“不安全的世界可写目录/mnt/c in PATH, mode 040777”错误
【发布时间】:2020-01-03 14:11:34
【问题描述】:

我尝试更改权限,但仍然无法正常工作。我创建了一个新的 Rails 应用程序来测试它,并在尝试启动 Rails 服务器时遇到了同样的错误。 当我在应用程序文件夹中运行rails -v 时,我得到了同样的错误。

我该如何解决这个问题?

rails s 输出:

/usr/lib/ruby/vendor_ruby/rails/app_rails_loader.rb:39: warning: Insecure world writable dir /mnt/c in PATH, mode 040777
    /usr/bin/ruby2.5: warning: shebang line ending with \r may cause problems
    Ignoring executable-hooks-1.6.0 because its extensions are not built. Try: gem pristine executable-hooks --version 1.6.0
    Ignoring gem-wrappers-1.4.0 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.4.0       
    Ignoring nio4r-2.5.2 because its extensions are not built. Try: gem pristine nio4r --version 2.5.2
    Ignoring nokogiri-1.10.7 because its extensions are not built. Try: gem pristine nokogiri --version 1.10.7
    Ignoring websocket-driver-0.7.1 because its extensions are not built. Try: gem pristine websocket-driver --version 0.7.1
    Traceback (most recent call last):
            4: from bin/rails:3:in `<main>'
            3: from bin/rails:3:in `load'
            2: from /mnt/c/Users/max/Desktop/Dev/app_project/bin/spring:8:in `<top (required)>'
            1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- bundler (LoadError)

我的宝石文件:

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.6.5'

gem 'rails', '~> 6.0.0'
gem 'sqlite3', '~> 1.4'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5'
gem 'webpacker', '~> 4.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.7'


gem 'bootsnap', '>= 1.4.2', require: false

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
  gem 'better_errors', '~> 2.5', '>= 2.5.1'
end

group :test do
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  gem 'webdrivers'
end

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

gem 'bootstrap', '~> 4.4.1'

gem 'devise', '~> 4.7', '>= 4.7.1'
gem 'jquery-rails'
gem 'toastr-rails'

gem 'omniauth', '~> 1.9'

gem 'omniauth-facebook', '~> 5.0'

lsb_release -a 输出:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic

rvm list 输出:

=* ruby-2.6.5 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

gem -v 输出:

3.1.2

ruby -v 输出:

ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]

【问题讨论】:

  • “当我运行“rails s”时,我得到“Insecure world writable dir /mnt/c in PATH, mode 040777”错误”——这不是错误,这是一个警告。它清楚地说:“警告:不安全的世界可写目录......”。 “我已尝试更改权限,但仍然无法正常工作。”是不够精确的错误描述,我们无法为您提供帮助。 什么不起作用? 如何不起作用?你的代码有什么问题?再次注意,您引用的消息是警告,它不是错误。它不会导致您的代码失败,它只是警告您您的目录权限不安全。

标签: ruby-on-rails ruby windows-10 ubuntu-18.04 windows-subsystem-for-linux


【解决方案1】:

您在使用 WSL 吗?

由于 C 盘 (/mnt/c) 是 Windows 分区,它不共享来自 Ubuntu(Linux) 的文件/目录权限系统。

来自 WSL 的“warning: Insecure world writable dir /mnt/c in PATH, mode 040777 #1426”可能很有用。

【讨论】:

  • 是的,我正在使用 WSL。但我不明白,这在我的工作站上完美运行。那么为什么我的笔记本电脑会出现这个错误呢?
  • 你是从 wsl 还是从 windows 克隆 repo?这有时会有所作为。其他方法是将仓库从 WSL 克隆到 Ubuntu ~/ 目录并使用 Vscode 远程 WSL 访问项目(代码 . from WSL 安装它),但如果我懒惰的话。
  • 我使用命令面板在 vscode 中克隆了 repo,然后创建了一个分支。然后我想我必须再次克隆,但这次按照你的建议克隆到 Ubuntu 目录?
  • 如果您在 Windows 中使用 git,您有可能将文件的行尾更改为 clrf('\r\n' 而不是 '\n' 在类 unix 系统中使用的)。当使用来自wsl的文件时可能会很麻烦(事实上,当说'/usr/bin/ruby2.5:警告:以\r结尾的shebang行可能会导致问题'时,您会收到警告)这就是为什么在wsl中我通常从 wsl 本身克隆。
  • 确切地说,我正要就我目前面临的这个错误提出一个问题'/usr/bin/ruby2.5:警告:以\r结尾的shebang行可能会导致问题')。
【解决方案2】:

我在 Windows 10 WSL、Ubuntu 18.04 上遇到了这个问题,我通过以下方式解决了这个问题:

  • 像这样打开或初始化/etc 文件夹下的wsl.conf 文件:sudo nano /etc/wsl.conf
  • 在文档中添加这两行:
[automount]
options="metadata,umask=0033" 
  • 通过以下方式保存文档:按CTRL+X 快捷键,然后按Y,然后按Enter 键确认更改
  • 重新启动我的计算机(更改生效非常重要

参考资料:

【讨论】:

    【解决方案3】:

    我在 macOS 上使用 Cocoapods 做事时遇到了这个问题。 sudo chmod 755 /your/directory 帮助我摆脱了这个问题。希望它对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-17
      • 2015-11-26
      • 2011-09-05
      • 2011-04-26
      • 2013-05-29
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多