mix deps.get失败(依赖问题)

时间:2016-12-15 13:56:17

标签: postgresql elixir phoenix-framework mix

我对elixir和phoenix(以及ubuntu)都很陌生,并且一直在努力让自己开始运行web开发。 在使用

创建一个新的凤凰应用程序时
mix phoenix.new webapp

我从终端

收到以下错误
Fetch and install dependencies? [Yn] y
* running mix deps.get
* error command failed to execute, please run the following command again after installation: "mix deps.get"
* running npm install && node node_modules/brunch/bin/brunch build
* error command failed to execute, please run the following command again after installation: "npm install && node node_modules/brunch/bin/brunch build"

以及运行mix deps.get

生成的错误消息是

** (Mix) No package with name phoenix_ecto (from: mix.exs) in registry

在使用此平台时,我仍然很新,因此我不完全确定如何在注册表中提取/获取/放置/下载phoenix_ecto包。 据我所知,这全部由hex包管理器处理。

我确实设法在几天前启动并运行phoenix,并设法开发小型测试应用程序。 但似乎在我鲁莽的终端sudoing的某处,我设法在某个地方打破了某些东西。

一些额外信息

Elixir 1.3.4
Mix 1.3.4
npm 3.5.2
node v4.2.6
Phoenix v1.2.1

如果需要任何其他信息,我很乐意提供!

2 个答案:

答案 0 :(得分:3)

我设法通过解锁依赖项并更新它们来修复错误。 命令如下。

mix deps.unlock --all
mix deps.update --all

现在项目已创建并且构建没有问题。 希望这有助于某人。

编辑1:

如果上述方法无效,则您的十六进制安装可能已损坏。这是我在原帖后一周的情况。可以通过删除hex并重新安装来修复。

rm -rf ~/.mix/archives/hex-0.15.0
mix local.hex

您的十六进制版本可能与我的不同。

hex-0.xx.x

答案 1 :(得分:0)

在某些情况下可能会出现这种情况。首先检查mix.exs deps部分。确保phoenix_ecto放置正确的版本并选择。此外,您需要从本地只是克隆存储库检查phoenix_ecto并在项目中设置{:phoenix_ecto, path: "..."}。尝试编译本地。如果它编译本地而不是编译在deps中,请检查phoenix_ecto mix.exs文件和defp package方法,并确保使用mix.exs [_, .., file: ~w{mix.exs}, _]返回列表。

通常这个问题与mix.exs有关。