Javascript 快速:找不到命令&;未满足依赖

Javascript 快速:找不到命令&;未满足依赖,javascript,node.js,express,npm,mean.io,Javascript,Node.js,Express,Npm,Mean.io,我浏览了很多帖子,没有发现这个具体的问题。目前还不清楚我安装了什么/未安装什么,但我希望这个错误消息和下面的内容能有所帮助。这是很多,但我觉得更多的信息将是有益的。也有可能我误解了express的一些基本概念 Machine:~$ npm install express -g npm ERR! Error: EACCES, unlink '/Users/Machine/.node/lib/node_modules/express/History.md' npm ERR! { [Error: E

我浏览了很多帖子,没有发现这个具体的问题。目前还不清楚我安装了什么/未安装什么,但我希望这个错误消息和下面的内容能有所帮助。这是很多,但我觉得更多的信息将是有益的。也有可能我误解了express的一些基本概念

Machine:~$ npm install express -g
npm ERR! Error: EACCES, unlink '/Users/Machine/.node/lib/node_modules/express/History.md'
npm ERR!  { [Error: EACCES, unlink '/Users/Machine/.node/lib/node_modules/express/History.md']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/Machine/.node/lib/node_modules/express/History.md' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.4.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "express" "-g"
npm ERR! cwd /Users/Machine
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /Users/Machine/.node/lib/node_modules/express/History.md
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/Users/Machine/.node/lib/node_modules/express/History.md'
npm ERR! error rolling back Error: EACCES, unlink '/Users/Machine/.node/lib/node_modules/express/History.md'
npm ERR! error rolling back  { [Error: EACCES, unlink '/Users/Machine/.node/lib/node_modules/express/History.md']
npm ERR! error rolling back   errno: 3,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/Users/Machine/.node/lib/node_modules/express/History.md' }
npm ERR! not ok code 0
Machine:~$ sudo npm install express -g
Password:
express@4.10.4 /Users/Machine/.node/lib/node_modules/express
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── fresh@0.2.4
├── cookie-signature@1.0.5
├── cookie@0.1.2
├── escape-html@1.0.1
├── range-parser@1.0.2
├── finalhandler@0.3.2
├── vary@1.0.0
├── media-typer@0.3.0
├── parseurl@1.3.0
├── methods@1.1.0
├── serve-static@1.7.1
├── content-disposition@0.5.0
├── path-to-regexp@0.1.3
├── depd@1.0.0
├── qs@2.3.3
├── on-finished@2.1.1 (ee-first@1.1.0)
├── debug@2.1.0 (ms@0.6.2)
├── etag@1.5.1 (crc@3.2.1)
├── proxy-addr@1.0.4 (forwarded@0.1.0, ipaddr.js@0.1.5)
├── send@0.10.1 (destroy@1.0.3, ms@0.6.2, mime@1.2.11)
├── accepts@1.1.3 (negotiator@0.4.9, mime-types@2.0.3)
└── type-is@1.5.3 (mime-types@2.0.3)
Machine:~$ ls
Applications        Movies          bin
Desktop         Music           node_modules
Documents       PdaNetUninstall.sh  package.json
Downloads       Pictures        perl5
Google Drive        Public          routes
Library         app.js          views
Machine:~$ cd Doc*
Machine:Documents$ ls
BDB             Practical Computer Concepts
Molecular Biology
Machine:Documents$ mkdir testFolder
Machine:Documents$ ls
BDB             Practical Computer Concepts
Molecular Biology       testFolder
Machine:Documents$ cd test*
Machine:testFolder$ ls
Machine:testFolder$ express mytestapp
-bash: express: command not found
Machine:testFolder$ 
正如您所看到的,我尝试了几种不同的安装experss的方法,从使用-g到npm安装express generator等等,都没有成功

更有趣的是,当我运行查看所有npm包时,我发现:

Machine:TestApp$ npm list
Machine@0.0.0 /Users/Machine
├── UNMET DEPENDENCY body-parser@~1.8.1
├── UNMET DEPENDENCY cookie-parser@~1.3.3
├── UNMET DEPENDENCY debug@~2.0.0
├─┬ express@4.9.8
│ ├─┬ accepts@1.1.3
│ │ ├─┬ mime-types@2.0.3
│ │ │ └── mime-db@1.2.0
│ │ └── negotiator@0.4.9
│ ├── cookie@0.1.2
│ ├── cookie-signature@1.0.5
│ ├─┬ debug@2.0.0
│ │ └── ms@0.6.2
│ ├── depd@0.4.5
│ ├── escape-html@1.0.1
│ ├─┬ etag@1.4.0
│ │ └── crc@3.0.0
│ ├── finalhandler@0.2.0
│ ├── fresh@0.2.4
│ ├── media-typer@0.3.0
│ ├── merge-descriptors@0.0.2
│ ├── methods@1.1.0
│ ├─┬ on-finished@2.1.1
│ │ └── ee-first@1.1.0
│ ├── parseurl@1.3.0
│ ├── path-to-regexp@0.1.3
│ ├─┬ proxy-addr@1.0.4
│ │ ├── forwarded@0.1.0
│ │ └── ipaddr.js@0.1.5
│ ├── qs@2.2.4
│ ├── range-parser@1.0.2
│ ├─┬ send@0.9.3
│ │ ├── destroy@1.0.3
│ │ ├── mime@1.2.11
│ │ ├── ms@0.6.2
│ │ └─┬ on-finished@2.1.0
│ │   └── ee-first@1.0.5
│ ├── serve-static@1.6.4
│ ├─┬ type-is@1.5.3
│ │ └─┬ mime-types@2.0.3
│ │   └── mime-db@1.2.0
│ ├── utils-merge@1.0.0
│ └── vary@1.0.0
├── UNMET DEPENDENCY jade@~1.6.0
├── UNMET DEPENDENCY morgan@~1.3.0
└── UNMET DEPENDENCY serve-favicon@~2.1.3

npm ERR! missing: body-parser@~1.8.1, required by Machine@0.0.0
npm ERR! missing: cookie-parser@~1.3.3, required by Machine@0.0.0
npm ERR! missing: morgan@~1.3.0, required by Machine@0.0.0
npm ERR! missing: serve-favicon@~2.1.3, required by Machine@0.0.0
npm ERR! missing: debug@~2.0.0, required by Machine@0.0.0
npm ERR! missing: jade@~1.6.0, required by Machine@0.0.0
npm ERR! not ok code 0
Machine:TestApp$ express -h
-bash: express: command not found
Machine:TestApp$ npm cache clean
npm ERR! Error: EACCES, unlink '/Users/Machine/.npm/abbrev/1.0.5'
npm ERR!  { [Error: EACCES, unlink '/Users/Machine/.npm/abbrev/1.0.5']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/Machine/.npm/abbrev/1.0.5' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.4.0
npm ERR! command "node" "/usr/local/bin/npm" "cache" "clean"
npm ERR! cwd /Users/Machine/Documents/BDB/Final Project/TestApp
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /Users/Machine/.npm/abbrev/1.0.5
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/Users/Machine/.npm/abbrev/1.0.5'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Machine/Documents/BDB/Final Project/TestApp/npm-debug.log
npm ERR! not ok code 0

这些步骤将清除可能导致问题的任何积垢,让您尽可能从新开始。当我遇到与
npm
相同的神秘“它应该可以工作”情况时,我会使用这种方法的变体,正如您所看到的

  • sudo npm rm express-g
    为了摆脱全局安装…我们将重新开始
  • sudo npm缓存清理
    到。。。清理缓存。这是节点的“关闭并再次打开”
  • sudo npm install express-g
    启动新的
  • 旁注:将npm全局安装目录移动到不需要
    sudo
    的位置是一种很好的做法。你可以在StackOverflow和搜索引擎上找到几篇关于如何做到这一点的文章