作者:鸣丸子圓的睿哥 | 来源:互联网 | 2022-11-30 16:54
我遇到的问题在Mac上不会发生,但在Windows上会发生。我有一个放置文件并将其安装在刚刚放置的文件夹中的项目,它运行的有效命令是“ npm --prefix install”。但是,这会导致Windows错误:
npm ERR! code ENOLOCAL
npm ERR! Could not install from "" as it does not contain a package.json file.
这是完整的日志:
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 '--prefix',
1 verbose cli 'C:\\Users\\jrjur\\Programs\\test\\',
1 verbose cli 'install' ]
2 info using npm@6.4.1
3 info using node@v11.1.0
4 verbose npm-session 59fa294aa88ba17f
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 silly fetchPackageMetaData error for file: Could not install from "" as it does not contain a package.json file.
8 timing stage:rollbackFailedOptional Completed in 2ms
9 timing stage:runTopLevelLifecycles Completed in 1102ms
10 verbose stack Error: ENOENT: no such file or directory, open 'C:\Users\jrjur\Programs\package.json'
11 verbose cwd C:\Users\jrjur\Programs
12 verbose Windows_NT 10.0.17134
13 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "--prefix" "C:\\Users\\jrjur\\Programs\\test\\" "install"
14 verbose node v11.1.0
15 verbose npm v6.4.1
16 error code ENOLOCAL
17 error Could not install from "" as it does not contain a package.json file.
18 verbose exit [ 1, true ]
第7行似乎是错误发生的地方,但是我不知道“ fetchPackageMetaData”的作用是什么,或者它试图从哪个目录读取...
放置的目录确实有package.json,如果我cd
进入该目录,则可以正常进行npm安装,而不会出现问题。同样,此问题仅在Windows上,在Mac OS X上不会发生。
如果有帮助,这是发生此问题的生成器(可以通过运行来重现该问题npx tram-one-express test-project
):https : //github.com/Tram-One/tram-one-express