【发布时间】:2015-06-18 09:29:52
【问题描述】:
我已经广泛搜索了这个问题的解决方案,但似乎找不到答案。我之前在旧的 Windows 8 PC 上使用过 Yeoman 脚手架很多次,但我无法在新的 Windows 8 PC 上使用它。
我正在尝试使用 Yeoman 构建一个 Angular 应用程序。我做了以下事情:
> npm install --global npm
> npm install --global yo bower grunt-cli
> npm install --global generator-angular
> mkdir mytodo && cd mytodo
> npm --version && yo --version && bower --version && grunt --version
2.5.1
1.4.6
1.4.1
grunt-cli v0.1.13
grunt v0.4.5
> yo angular
它运行到运行 bower install & npm install 然后显示一大堆错误。这在 npm-debug.log 文件中。
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'install' ]
2 info using npm@2.5.1
3 info using node@v0.12.1
4 verbose node symlink C:\Program Files\nodejs\\node.exe
5 verbose config Skipping project config: C:\Users\melon/.npmrc. (matches userconfig)
6 error install Couldn't read dependencies
7 verbose stack Error: ENOENT, open 'C:\Users\melon\package.json'
7 verbose stack at Error (native)
8 verbose cwd C:\Users\melon
9 error Windows_NT 6.2.9200
10 error argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
11 error node v0.12.1
12 error npm v2.5.1
13 error path C:\Users\melon\package.json
14 error code ENOPACKAGEJSON
15 error errno -4058
16 error package.json ENOENT, open 'C:\Users\melon\package.json'
16 error package.json This is most likely not a problem with npm itself.
16 error package.json npm can't find a package.json file in your current directory.
17 verbose exit [ -4058, true ]
我发现错误中有趣的是它指的是“C:\Users\melon\package.json”。它不应该在项目文件夹中查找 package.json(即 c:\projects\mytodo)吗?
另一个奇怪的事情是它在 C:\Users\melon\node_modules 中放置了一个名为 node_modules 的文件夹。此文件夹包含 grunt、grunt-karma、jasmine-core、karma 和 karma-jasmine。我已经在 C:\Users\melon\AppData\Roaming\npm\node_modules\
中有 node_modules 文件夹如果我手动运行以下命令,它会成功安装。
> bower install
如果我手动运行以下命令,它会失败。
> npm install
gifsicle@2.0.1 postinstall C:\Projects\mytodo\node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle
> node lib/install.js
module.js:338
throw err;
^
Error: Cannot find module 'C:\Users\melon\lib\install.js'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
...........
以下是一些相关的 PATH 详细信息:
PATH=C:\Program Files\nodejs\;C:\Program Files (x86)\Git\cmd;C:\Ruby193\bin;C:\ant\bin;C:\Users\melon\AppData\Roaming\npm
我希望这些信息足以让某人告诉我我哪里出错了。提前致谢。
【问题讨论】:
标签: angularjs node.js gruntjs yeoman karma-jasmine