【问题标题】:"dist" command gets "not a valid command" error“dist”命令得到“不是一个有效的命令”错误
【发布时间】:2014-04-17 12:55:53
【问题描述】:

我有一个使用我在 Scala 中开发的类型安全激活器生成的有效 Play Framework 2.1 应用程序。我正在尝试使用可在此处找到的说明在 CloudBees 中部署它:http://wiki.cloudbees.com/bin/view/RUN/Playframework#HDeployingaPlay2application 使用“使用 Cloudbees SDK”中描述的方法。

但是,当我加载播放控制台并尝试运行“dist”命令时,我收到错误“Not a valid command: dist”。

我尝试了两种运行这三种不同的方式:

  1. 在终端窗口中(我使用的是 Mac OS X),我导航到项目目录,运行“激活器”应用程序(该目录中没有名为“play”的应用程序,但“激活器”似乎是),然后从出现的提示中输入命令“dist”。
  2. 我下载了常规(非激活器)Play Framework 分发文件,使用“export PATH=$PATH:/Applications/play-2.2.2”将目录添加到我的路径,导航到项目目录,然后运行命令“播放区域”。
  3. 使用 Homebrew 安装游戏。导航到项目目录并运行“play dist”。

所有三种方法都给我同样的错误(见下文)。我的游戏版本的方法是否不同?我是否遗漏了 sbt 文件中的某些内容?我怎样才能让它工作?

“play dist”的完整输出:

Macmini-##########-#:nimrandslibrary.searchfu.esl kpyancey$ play dist
[info] Loading project definition from /Users/kpyancey/Projects/NimrandsLibrary.SearchFu.Esl/project
[info] Set current project to NimrandsLibrary.SearchFu.Esl (in build file:/Users/kpyancey/Projects/NimrandsLibrary.SearchFu.Esl/)
[error] Not a valid command: dist (similar: set, iflast, last)
[error] Not a valid project ID: dist
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: dist (similar: test, ivy-sbt, history)
[error] dist
[error]     ^

【问题讨论】:

  • 我已经用自制软件在我的 Mac 上安装了 play,浏览到我的应用文件夹并运行“play dist”没有任何问题。不过,不确定您所说的“没有名为 play 的应用程序”是什么意思。
  • 如果您输入play,您是否到达playconsole?
  • 是的,如果你不这样做,我猜你没有使用自制软件(它已经为你设置了 PATH)并且在配置你的 PATH 时犯了一些错误
  • 我不知道 Homebrew 选项。我知道 PATH 设置正确,因为它确实运行“播放”命令并启动播放控制台。但是,当我在游戏控制台的提示符中键入“dist”时,它会给我上面提到的错误消息。我会在完成 Homebrew 安装并尝试这样做后立即更新问题。

标签: scala playframework playframework-2.0 cloudbees typesafe-activator


【解决方案1】:

我认为您在项目中配置错误。

要仔细检查,请从 Activator 生成一个新项目或尝试下载https://github.com/CloudBees-community/play2-clickstart(已正确配置)并运行 play dist。

【讨论】:

  • 我测试过,“play dist”在通过ClickStart生成的项目中有效。但是,这对我帮助不大。我已经有一个 WORKING 应用程序,将现有代码库集成到 ClickStart 生成的项目中并非易事。此外,ClickStart 生成的项目将源代码控制设置为托管在 Cloudbees 上(我已经拥有自己的源代码控制),并要求我上传代码,然后通过运行 Cloudbees 服务器的应用程序进行测试(这会减慢我的代码速度-编译测试周期很大)。这不是我想要的设置。
  • 不过,你给了我一个想法。我正在 Typesafe Activator 中创建一个新项目,以查看“play dist”是否会运行。如果是这样,我可以比较两个项目的配置。如果没有,那么我们至少会缩小问题的范围。当我知道更多时,我会更新。
  • 我从 Activator 生成了一个新项目,“play dist”命令适用于它。我仍然不知道项目配置可能有什么不同会导致“play dist”像那样失败(即,甚至无法识别“dist”命令)。我更新了您的答案,以反映我通过激活器创建了一个新项目来解决问题的事实。
  • 对于它的价值,我在 Play 教程中发现 play-intro-java 应用程序具有相同的行为。在我进行试验时,我不小心从默认的test/ 文件夹中删除了测试。尝试运行activator clean dist 失败并显示上面的消息,考虑到根本原因(缺少测试),这是完全出乎意料的。也许有人会发现这些信息很有用。
猜你喜欢
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
相关资源
最近更新 更多