【发布时间】:2014-11-26 13:12:14
【问题描述】:
我的问题出现在使用以下命令创建 Angular 项目之后(甚至期间):
yo angular
在从 package.json 安装所有 devDependencies 的过程中(你有角度运行的“npm install”)我注意到 node_modules 文件夹中缺少一些模块。
所以,之后我再次下载了“npm install name_of_the_module --save-dev”(因此它们将下载并包含在 devDependencies 选项的 package.json 中)。
但是例如,如果我删除 node_modules 文件夹并执行命令 npm install 它将开始安装但会丢失一些模块,有时丢失的模块是与上次运行 npm install 不同。
我不知道如何面对这个问题,因为我需要为团队设置项目,他们要做的第一件事就是执行 npm install & bower install(这是最后一个工作正常)。
package.json的内容是:
{
"name": "angular_test",
"version": "0.0.0",
"dependencies": {},
"devDependencies": {
"grunt": "^0.4.5",
"grunt-autoprefixer": "^0.7.6",
"grunt-concurrent": "^0.5.0",
"grunt-contrib-clean": "^0.5.0",
"grunt-contrib-concat": "^0.4.0",
"grunt-contrib-connect": "^0.7.1",
"grunt-contrib-copy": "^0.5.0",
"grunt-contrib-cssmin": "^0.9.0",
"grunt-contrib-htmlmin": "^0.3.0",
"grunt-contrib-imagemin": "^0.8.1",
"grunt-contrib-jshint": "^0.10.0",
"grunt-contrib-uglify": "^0.4.1",
"grunt-contrib-watch": "^0.6.1",
"grunt-filerev": "^0.2.1",
"grunt-google-cdn": "^0.4.0",
"grunt-karma": "^0.9.0",
"grunt-newer": "^0.7.0",
"grunt-ng-annotate": "^0.3.2",
"grunt-svgmin": "^0.4.0",
"grunt-usemin": "^2.4.0",
"grunt-wiredep": "^1.7.0",
"imagemin-jpegtran": "^2.0.0",
"imagemin-pngquant": "^2.0.0",
"jshint-stylish": "^0.2.0",
"karma": "^0.12.24",
"karma-jasmine": "^0.1.5",
"karma-phantomjs-launcher": "^0.1.4",
"load-grunt-tasks": "^0.6.0",
"time-grunt": "^0.3.2"
},
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"test": "grunt test"
}
}
执行 npm install 后我得到的错误或日志是:
npm WARN optional dep failed, continuing imagemin-optipng@1.0.0
npm WARN optional dep failed, continuing http-signature@0.10.0
npm WARN optional dep failed, continuing imagemin-jpegtran@1.0.0
npm WARN optional dep failed, continuing imagemin-pngquant@1.0.2
npm WARN optional dep failed, continuing imagemin-gifsicle@1.0.0
npm ERR! EEXIST, open 'C:\Users\myself\AppData\Roaming\npm-cache\78af9c6a-m-cache-lodash-2-4-1-package-tgz.lock'
File exists: C:\Users\myself\AppData\Roaming\npm-cache\78af9c6a-m-cache-lodash-2-4-1-package-tgz.lock
Move it away, and try again.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd C:\Users\myself\Documents\PHPStorm_Workspace\angular_test
npm ERR! node -v v0.10.32
npm ERR! npm -v 1.4.28
npm ERR! path C:\Users\myself\AppData\Roaming\npm-cache\78af9c6a-m-cache-lodash-2-4-1-package-tgz.lock
npm ERR! code EEXIST
npm ERR! errno 47
npm ERR! not ok code 0
更新
所有这些问题都是因为“npm”而出现的,所以在研究了一下之后,npm的创建者建议下载最后一个版本,该版本仅适用于...
npm install -g npm@next
或
npm install -g npm@2.1.2(在这种情况下仅适用于当前版本 2.1.2,即最新版本)
或
- 下载源代码并将其内容复制到安装 npm 的位置(在您安装 node.js 的 node_modules 文件夹中): https://www.versioneye.com/nodejs/npm/2.1.2
当我找到 github 讨论时,我会用它更新帖子。
【问题讨论】:
-
以下是在 Windows 中修复此问题的详细说明:stackoverflow.com/a/26547749/168205
标签: node.js angularjs gruntjs npm yeoman