我正在尝试网站'http://tech.pro/tutorial/1190/package-managers-an-introductory-guide-for-the-uninitiated-front-end-developer#front_end_developers'上的一些“菜谱示例”。
现在你不需要去那里看,但我觉得分享这个网站可能是好的。
到目前为止,一切都很好,直到涉及全局安装的部分。
当涉及尝试全局安装某些软件包时,我卡住了。
我为测试全局安装某个软件包所做的事情:
创建测试目录
grunttest
在该目录中:
npm install -g jshint
我可以看到的输出:
npm http GET https://registry.npmjs.org/jshint
npm http 304 https://registry.npmjs.org/jshint
...
npm http 304 https://registry.npmjs.org/string_decoder
C:\Program Files\nodejs\node_modules\npm\jshint -> C:\Program Files\nodejs\node_modules\npm\node_modules\jshinnt
jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint
├── console-browserify@0.1.6
├── exit@0.1.2
├── underscore@1.4.4
├── shelljs@0.1.4
├── minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0)
├── cli@0.4.5 (glob@3.2.9)
└── htmlparser2@3.3.0 (domelementtype@1.1.1, domutils@1.1.6, domhandler@2.1.0, readable-stream@1.0.26-2)
我刚刚意识到304状态码,它应该是正常的,因为它只是表明该资源自上次安装以来没有被修改(几分钟前)。
检查jshint是否存在:
`npm -global list`
输出:
npm@1.4.3 C:\Program Files\nodejs\node_modules\npm
├── abbrev@1.0.4
├── ansi@0.2.1
├─...
├──
├── graceful-fs@2.0.2
├── inherits@2.0.1
├── ini@1.1.0
├─┬ init-package-json@0.0.14
│ └── promzard@0.2.1
├─┬ jshint@2.4.4 extraneous
│ ├─┬ cli@0.4.5
│ │ └─┬ glob@3.2.9
│ │ └── inherits@2.0.1
│ ├── console-browserify@0.1.6
│ ├── exit@0.1.2
│ ├─┬ htmlparser2@3.3.0
│ │ ├── domelementtype@1.1.1
│ │ ├── domhandler@2.1.0
│ │ ├── domutils@1.1.6
│ │ └─┬ readable-stream@1.0.26-2
│ │ └─... ├── text-table@0.2.0
├── uid-number@0.0.3
└── which@1.0.5
**npm ERR! extraneous: jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint npm**
问题:
- 为什么我会收到 npm ERR! extraneous ... 的错误信息?
- 这是什么意思?
- 我该如何解决这个问题?
信息:
我正在使用 Windows 7 操作系统的电脑,使用的是 cygwin 作为 shell。
当我尝试运行 jshint(jshint someTestfile.js
)时,当然会失败。
jshint myfile.js
т║ћУ»Цтюеmyfile.js
СИіУ┐љУАїjshintсђѓ - Kyle Robinson YoungGruntfile.js
中加载和配置grunt-contrib-jshint
任务。唯一需要全局安装的是npm i grunt-cli -g
,这样您就可以访问运行grunt
命令以运行Gruntfile.js
。有关更多信息,请参阅此指南:http://gruntjs.com/getting-started - Kyle Robinson Youngnpm prune
命令来删除它们。 - krxnpm prune --your-env
命令移除所有未使用的包。 - geek_guy