为什么npm试图在错误的目录中findpackage.json?

我有一个Web应用程序与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是在根文件夹,因为它应该但仍然我得到这个警告,这是非常烦人的。 正如你可以看到npmsearch一个文件夹中的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版本库中有一些公开的问题,例如:

  • https://github.com/npm/npm/issues/9633
  • https://github.com/npm/npm/issues/10004

如果有什么改变,我会更新问题的答案(如果提供)