Ember.js - 在主目录而不是当前目录中嵌入新命令安装项目

时间:2015-04-03 14:36:13

标签: ember.js ember-cli

当我运行ember new命令来创建一个新项目时,项目将在我的主目录而不是执行new命令的目录中创建。

任何人都知道为什么?

2 个答案:

答案 0 :(得分:11)

如果要在当前文件夹中创建新项目,则必须使用ember init命令。

来自initnew命令(http://www.ember-cli.com/#using-ember-cli)的文档:

ember new <project-name>说明:

  

&#34;创建名为<project-name&gt;的文件夹并为您生成应用程序结构。&#34;

ember init说明:

  

&#34;在当前文件夹中为您生成应用程序结构。&#34;

可以在initnew命令(https://github.com/ember-cli/ember-cli/blob/18d377b264859548f41aba6c3ea2015b90978068/lib/commands/new.jshttps://github.com/ember-cli/ember-cli/blob/18d377b264859548f41aba6c3ea2015b90978068/lib/commands/init.js)的源代码中找到更好的说明:

ember new <project-name>说明是:

  

&#34;创建一个新文件夹并在其中运行ember init。&#34;

ember init说明是:

  

&#34;在当前文件夹中创建一个新的ember-cli项目。&#34;

ember new <project-name>代码的相关部分是:

return createAndStepIntoDirectory
  .run({
    directoryName: packageName,
    dryRun: commandOptions.dryRun
  })
  .then(initCommand.run.bind(initCommand, commandOptions, rawArgs))
  .then(gitInit.run.bind(gitInit, commandOptions, rawArgs));

因此new命令会创建并逐步进入您传递给它的项目目录名称,然后在该目录中运行init,从而生成所有的余烬。

请注意,ember new <project-name>命令还会为您创建一个git存储库(如果您在计算机上设置了git),但ember init命令没有。

答案 1 :(得分:6)

我的根目录中有一个package.json文件。删除它为我解决了这个问题。