【发布时间】:2020-03-28 14:25:05
【问题描述】:
我正在尝试通过管理员 PowerShell 会话中的 official guide 运行 Phoenix 演示应用程序,我是我机器上的管理员。我已经安装了所有依赖项,但是当我尝试运行mix phx.server 时,它告诉我它无法删除文件,因为(它)不是所有者。使用mix phx.new hello 无法完全控制它刚刚创建的这个文件似乎很奇怪。请参阅我的 PowerShell 会话的以下输出:
PS C:\users\Isaiah Nelson\Lab> cd hello
PS C:\users\Isaiah Nelson\Lab\hello> mix ecto.create
Compiling 13 files (.ex)
Generated hello app
The database for Hello.Repo has been created
PS C:\users\Isaiah Nelson\Lab\hello> mix phx.server
** (File.Error) could not remove file "c:/users/Isaiah Nelson/Lab/hello/_build/dev/lib/hello/priv": not owner
(elixir) lib/file.ex:1128: File.rm!/1
(mix) lib/mix/utils.ex:452: Mix.Utils.symlink_or_copy/2
(mix) lib/mix/project.ex:644: Mix.Project.build_structure/2
(mix) lib/mix/tasks/compile.all.ex:21: Mix.Tasks.Compile.All.run/1
(mix) lib/mix/task.ex:331: Mix.Task.run_task/3
(mix) lib/mix/tasks/compile.ex:96: Mix.Tasks.Compile.run/1
(mix) lib/mix/task.ex:331: Mix.Task.run_task/3
(mix) lib/mix/tasks/app.start.ex:58: Mix.Tasks.App.Start.run/1
此后,我尝试搜索有关 phx.server 的 Mix Task 的文档,但没有发现为什么会发生这种情况的任何线索。我什至还尝试将“hello”目录所有者设置为管理员、我的用户 (Isaiah Nelson) 和具有完全控制和继承权限的“所有人”,但我仍然无法运行演示应用程序而不会出现此错误。这是 Mix 通过 Powershell 在 Windows 中创建文件的问题,还是其他一些 Windows 文件权限问题?无论哪种方式,我该如何修复它以便运行演示?
【问题讨论】:
-
我认为在 Windows 上托管的 linux 中运行它可能比解决这个特定问题要快得多。
-
@PawełObrok 一些公司要求服务在 Windows 上运行。
标签: powershell elixir phoenix-framework elixir-mix