为什么 angular-cli 会把新项目放在父目录下?

Why does angular-cli put new project in the parent directory?

我不明白为什么 ng new 将新项目放在当前目录的父目录中,而不是放在当前目录中。

[12:05:59] angular-cli
// ♥ pwd
/Users/Dan/work/angular-cli
[12:06:06] angular-cli
// ♥ ng new ang-cli-1
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
installing ng2
  create .clang-format
  create .editorconfig
  create src/app/ang-cli-1.component.css
  create src/app/ang-cli-1.component.html
  create src/app/ang-cli-1.component.spec.ts
  create src/app/ang-cli-1.component.ts
  create src/app/environment.ts
  create src/app/index.ts
  create src/app/shared/index.ts
  create src/favicon.ico
  create src/index.html
  create src/main.ts
  create src/system-config.ts
  create src/tsconfig.json
  create src/typings.d.ts
  create angular-cli-build.js
  create angular-cli.json
  create config/environment.dev.ts
  create config/environment.js
  create config/environment.prod.ts
  create config/karma-test-shim.js
  create config/karma.conf.js
  create config/protractor.conf.js
  create e2e/app.e2e.ts
  create e2e/app.po.ts
  create e2e/tsconfig.json
  create e2e/typings.d.ts
  create .gitignore
  create package.json
  create public/.npmignore
  create tslint.json
  create typings.json
Successfully initialized git.
⠋ Installing packages for tooling via npm
├── es6-shim (ambient)
├── angular-protractor (ambient dev)
├── jasmine (ambient dev)
└── selenium-webdriver (ambient dev)

Installed packages for tooling via npm.
[12:08:00] angular-cli
// ♥ ls
[12:08:20] angular-cli
// ♥ ls ../ang-cli-1/
angular-cli-build.js    node_modules        tslint.json
angular-cli.json    package.json        typings
config          public          typings.json
e2e         src
[12:08:38] angular-cli

您的 home/user 目录中是否有 package.json 文件?我遇到了这个问题,然后我删除了 package.json 并停止了它。

我相信 angular cli 会查找 package.json 文件,从当前目录开始,然后向上导航目录树,直到到达您的 home/user 目录。它在找到的第一个 package.json 处停止并在那里执行命令。如果它没有找到 package.json 文件,它会从当前目录执行命令。

当前版本的 angular-cli 现在 returns 错误 You cannot use the new command inside an Angular CLI project 当父目录中有 package.json 文件时。

从父目录中删除 package.json 文件为我解决了问题。

在我的例子中,我在一个应用程序中构建一个应用程序,无法删除外部 package.JSON 文件。我在外部项目中创建了一个应用程序文件夹并在其中导航。在那里,我 运行 NPM INIT 并创建了一个简单的空 package.JSON 文件,然后 运行 ng 新命令,它运行良好。