【问题标题】:Yeoman angular app npm install error not workingYeoman angular app npm install 错误不起作用
【发布时间】: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


    【解决方案1】:

    由于我还不能发表评论(需要 50 个代表),因此我将其发布为答案。

    • 以管理员身份运行 Node.js。这通常有助于解决这类错误。
    • 您的 PATH 变量是正确的(Ruby 存在,Git 也存在)。
    • 我建议您先尝试 npm install -g bower,因为该软件包似乎有问题。

    您是否已经尝试过其他生成器(例如 webapp)?

    【讨论】:

    • 感谢您的建议。但这并没有解决问题。创建一个新的项目文件夹,运行 install -g bower 然后运行 ​​yo webapp 并得到相同的结果。
    • 您是否安装了生成器(npm install -g generator-webapp)?作为最后的手段,您可以转到 AppData 文件夹并手动删除 bower 文件夹(AppData > Roaming > npm > node_modules),然后通过运行 npm install -g bower 重新安装 bower。我不知道这是否会有所帮助。它可以破坏一切,但它也可以提供帮助:)
    • 我已经安装了一些生成器,包括 webapp。尝试删除 bower 文件夹并重新安装 bower。当我“yo webapp”时仍然出现同样的错误。
    猜你喜欢
    • 2016-11-09
    • 2022-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多