[node.js] 빠른 명령을 찾을 수 없습니다

디렉토리 에 Express 를 실행하고 Express를 실행하려고 npm install -g express하면 내 컴퓨터에 Express를 설치 한 후 어떤 이유로 든 cd다음과 같은 오류가 발생합니다.

express: command not found. 

내가 그것을 실행하더라도 sudo여전히 동일한 출력을 얻습니다. 이 문제에 대한 여러 가지 다른 솔루션을 시도했지만 아무런 효과가 없습니다. 나는 통해 노드에 설치 한 homebrew나는 완전히 노드를 제거하고 nodejs.org에서 설치 (지금 v0.10.26을 실행 해요) 여전히 문제이 지속 통해 다시 설치할 수 있도록 스택 오버플로 일부 스레드가 문제가되었을 수 있습니다 표시하는합니다.

/usr/local/lib/node_modulesExpress에 들어가면 / usr / local / bin 내에 Express에 관한 것이 없습니다. 그것이 문제인지 아닌지는 확실하지 않지만 해당 디렉토리에 다른 전역으로 설치된 노드 패키지에 대한 바이너리가 있다고 생각하면 거기에 문제가 있다고 생각합니다.

이것은 내가 설치할 때 얻는 정확한 결과입니다.

npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/accepts/1.0.0
npm http GET https://registry.npmjs.org/type-is/1.0.0
npm http GET https://registry.npmjs.org/range-parser/1.0.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.2
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.3
npm http GET https://registry.npmjs.org/utils-merge/1.0.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2
npm http GET https://registry.npmjs.org/escape-html/1.0.1
npm http GET https://registry.npmjs.org/serve-static/1.0.1
npm http GET https://registry.npmjs.org/qs/0.6.6
npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2
npm http GET https://registry.npmjs.org/parseurl/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/type-is/1.0.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/accepts/1.0.0
npm http 304 https://registry.npmjs.org/range-parser/1.0.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3
npm http 304 https://registry.npmjs.org/fresh/0.2.2
npm http 304 https://registry.npmjs.org/serve-static/1.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/utils-merge/1.0.0
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2
npm http 304 https://registry.npmjs.org/escape-html/1.0.1
npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.2
npm http 304 https://registry.npmjs.org/parseurl/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── serve-static@1.0.1 (send@0.1.4)
└── accepts@1.0.0 (negotiator@0.3.0, mime@1.2.11)



답변

Express 4.0.0이 출시되면해야 할 것처럼 보입니다 sudo npm install -g express-generator.


답변

다음을 실행해야합니다.

npm install -gd express-generator

cli를 사용한 원래 Express는 이제 별도의 Express-Generator 패키지로 분할됩니다. app.js의 httpserver 관련 코드와 bin/www아래 프로젝트 디렉토리에 대한 코드 의이 부분 인 app.js는 app 논리 코드 만 유지 하므로 프로젝트에서 원래 생성 한 표현 노드 app.js 를 실행 중입니다. bin/www. 매우 간단한 응용 프로그램 및 구체화 패키지 종속성 버전 변경 사항 만 있습니다.


답변

나는 며칠 동안이 도전을 겪고있었습니다. 상세 검색 후, 특히 부모 소스 (이 경우 EXPRESSJS.COM)에서 사용 가능한 모든 리소스를 읽어야한다는 것을 알게되었습니다. 다음은 빠른 수정입니다.

버전 4.0 이상부터는 Node 8.2 이상을 실행중인 경우 Express-Generator를 설치할 필요가 없습니다. 간단히 실행

npx express-generator

Express-Generator는 다음을 실행할 때 실행되는 방식대로 실행됩니다.express

자세한 내용은 시작하기를 참조하십시오.

행복한 독서와 연구 시간.


답변

최근에 express-generator를 설치하려고 시도했지만 제공 할 것입니다.

$ zsh : command not found : express

내가 한 후에

$ sudo npm install -g express
$ sudo npm install -g express-generator

그러나 그때 npm install commnand의 콘솔 로그를 보았습니다.

/usr/local/Cellar/node/13.1.0/bin/express -> /usr/local/Cellar/node/13.1.0/lib/node_modules/express-generator/bin/express-cli.js

실행 익스프레스가 bin 폴더에 있다는 힌트를주었습니다.

해결책은 다음과 같습니다. ~ / .zshrc 또는 ~ / .bashrc를 열고 다음과 같이 경로를 내 보냅니다.

export PATH=/usr/local/Cellar/node/13.1.0/bin:$PATH

지금 작동합니다.


답변