【发布时间】:2016-07-28 09:02:57
【问题描述】:
我有一个带有 TypeScript、Angular 和几个依赖项的网络应用程序。
npm 当然也在这里。
package.json 是从 npm init 的乞讨中引入项目的,现在看起来是这样的:
{
"name": "myApp",
"version": "0.0.8-d",
"description": "Web App",
"author": "Author",
"license": "ISC",
"repository": {
"type": "git",
"url": "MYURL"
},
"bugs": {
"url": "MYURL"
},
"homepage": "MYURL",
"browserify": {
"transform": [
"debowerify"
]
},
"dependencies": {
"malihu-custom-scrollbar-plugin": "^3.1.3"
},
"devDependencies": {
"browserify": "~13.0.0",
"connect-history-api-fallback": "^1.2.0",
"connect-modrewrite": "^0.8.2",
"debowerify": "~1.2.0",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.0",
"gulp-clean-css": "^2.0.4",
"gulp-concat": "^2.6.0",
"gulp-connect": "^3.2.2",
"gulp-less": "^3.0.5",
"gulp-ng-annotate": "^2.0.0",
"gulp-sass": "^2.2.0",
"gulp-sourcemaps": "^1.6.0",
"gulp-typescript": "^2.12.2",
"gulp-uglify": "^1.5.3",
"jasmine": "^2.4.1",
"run-sequence": "^1.1.5",
"typescript": "^1.8.9",
"vinyl-source-stream": "^1.1.0"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
}
我的文件结构也是这样的:
Root
|-- tscode
|-- compiled
|-- html_files
|-- node_modules
|-- libs
| package.json
这个想法是 npm 似乎工作正常,一切都安装正确我可以添加/删除依赖项但我总是让这个工作:
npm WARN enoent ENOENT: no such file or directory, open '/Projects/MyApp/tscode/package.json'
package.json 应该在根文件夹中,但我仍然收到这个非常烦人的警告。如您所见,npm 在内部一级文件夹中搜索 json 文件,而不是在根目录中。
如果我这样做:
npm list --depth=0
然后我得到了我的依赖项的正确列表,但也:-> /Projects/MyApp/innerfolder extraneous error: ENOENT: no such file or directory, open '/Projects/MyApp/tscode/package.json
有什么想法吗?
节点版本:v5.10.1 npm 版本:3.8.5
注意:无论操作系统,我团队中的每个人都会发生这种情况。
更新: 似乎 npm 存在错误。 npm 存储库中有一些未解决的问题,例如:
如果有什么变化,我会用答案更新问题(如果提供)
【问题讨论】:
-
运行npm命令时,你的工作目录是不是你项目的根目录?
-
是的,我在根文件夹中。
-
如果你运行
npm list --depth=0会发生什么?
标签: angularjs json node.js npm package-managers