【问题标题】:Dropbox directory renaming resulting in 'URI::InvalidURIError: bad URI' on asset precompilationDropbox 目录重命名导致资产预编译时出现“URI::InvalidURIError: bad URI”
【发布时间】:2020-06-20 22:47:29
【问题描述】:

我刚刚将我的 Dropbox 帐户从个人帐户升级为企业帐户。结果,它将我的主要 Dropbox 名称从“Dropbox”更改为“公司名称 Dropbox”。

现在,当我尝试启动我的 rails 应用程序或执行 rails assets:precompile 时,我收到以下错误:

$ rails assets:precompile
yarn install v1.22.0
[1/4] ????  Resolving packages...
success Already up-to-date.
✨  Done in 0.15s.
rails aborted!
URI::InvalidURIError: bad URI(is not URI?): file-digest:///Users/name/Company Name Dropbox/Username/appfolder/jsp/app/assets/stylesheets/trestle/_variables.scss
/.rvm/gems/ruby-2.5.1@myapp/gems/sprockets-3.7.2/lib/sprockets/uri_utils.rb:45:in `split_file_uri'
/.rvm/gems/ruby-2.5.1@myapp/gems/sprockets-3.7.2/lib/sprockets/uri_utils.rb:126:in `parse_file_digest_uri'
/.rvm/gems/ruby-2.5.1@myapp/gems/sprockets-3.7.2/lib/sprockets.rb:159:in `block in <module:Sprockets>'
/.rvm/gems/ruby-2.5.1@myapp/gems/sprockets-3.7.2/lib/sprockets/dependencies.rb:67:in `resolve_dependency'
/.rvm/gems/ruby-2.5.1@myapp/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:23:in `block in initialize'
/.rvm/gems/ruby-2.5.1@myapp/gems/sprockets-3.7.2/lib/sprockets/cached_environment.rb:59:in `resolve_dependency'

我已更新到 Rails 5.2.4.3 的最新可用版本。

如何在不更改项目位置的情况下解决此问题?我需要将它留在我的 Dropbox 文件夹中。

【问题讨论】:

  • 那么是否可以重命名保管箱?
  • @Ranoiaetep 很遗憾不是 :( 你认为是什么原因造成的?
  • 我猜您的公司名称中可能存在无效字符或权限更改?抱歉,不是 Rails 或 Dropbox 专家,帮不上什么忙
  • 我不知道商务保管箱是怎么命名的,但是uri中的空格真的存在吗?如果是这样,您可以在“公司名称保管箱”的单词之间添加 _,因为我认为在 uri 中包含空格是无效的。
  • @whilrun 是的,我无法重命名路径的那部分。 Dropbox 处理。

标签: ruby-on-rails-5 asset-pipeline ruby-2.5


【解决方案1】:

我认为您需要使用 URI.encode(url) 以便将空格转换为 %20。

【讨论】:

  • 我知道我需要使用它,但是在哪里使用它?
  • 发布 Rails 应用程序中您拥有“公司名称 Dropbox”的部分。
猜你喜欢
  • 2017-12-18
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
  • 2018-06-12
  • 1970-01-01
相关资源
最近更新 更多