2016-05-14 4 views
2

Ich verstehe nicht, warum ng new das neue Projekt in das übergeordnete Verzeichnis des aktuellen Verzeichnisses setzt, anstatt es in das aktuelle Verzeichnis zu schreiben.Warum legt angular-cli ein neues Projekt in das übergeordnete Verzeichnis?

[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 

Antwort

9

Haben Sie eine package.json Datei in Ihrem Home/Benutzerverzeichnis haben? Ich habe dieses Problem erlebt, dann habe ich package.json entfernt und das hat es gestoppt.

Ich glaube, dass angular cli nach einer package.json-Datei sucht, die im aktuellen Verzeichnis beginnt und dann den Verzeichnisbaum hochfährt, bis er Ihr home/user-Verzeichnis erreicht. Es stoppt an der ersten package.json es findet und führt den Befehl dort. Wenn es keine package.json Datei findet, führt es den Befehl aus dem aktuellen Verzeichnis aus.

Die aktuelle Version von angular-cli gibt jetzt den Fehler You cannot use the new command inside an Angular CLI project zurück, wenn eine package.json Datei in einem übergeordneten Verzeichnis vorhanden ist.

-1

Entfernen package.json Datei aus dem übergeordneten Verzeichnis lösen Problem für mich.

+1

Diese Antwort wiederholt einfach, was in der angenommenen Antwort gesagt wurde – d4nyll

1

In meinem Fall baute ich eine App innerhalb einer App und konnte die äußere package.JSON-Datei nicht entfernen. Ich habe einen App-Ordner im äußeren Projekt erstellt und darin navigiert. Dort angekommen lief ich NPM INIT und erstellte ein einfaches leeres Paket. Die JSON-Datei führte dann den ng new-Befehl aus und es funktionierte gut.

Verwandte Themen