Jod*_*ast 6 node.js npm angular
所以我第一次尝试制作一个新的角度应用程序,我使用npm i -g @angular/cli. 当我尝试使用创建新应用程序时npm run ng new app,它给了我这个错误:
npm 错误!路径 E:\ddii\package.json
npm 错误!代码 ENOENT
npm 错误!errno -4058
npm 错误!系统调用打开
npm 错误!enoent ENOENT:没有这样的文件或目录,打开 'E:\ddii\package.json'
npm ERR!enoent 这与 npm 找不到文件有关。npm 错误!埃诺恩特npm 错误!可以在以下位置找到此运行的完整日志:
npm ERR!C:\Users...\AppData\Roaming\npm-cache_logs\2018-09-10T20_22_50_118Z-debug.log
简而言之,您运行的命令不正确。npm run从命令前面删除,它应该可以工作。
当您说时npm run blah, npm 会在您的案例中查找名为或 的package.json脚本。所以...如果您正在运行,npm 希望您的当前目录中有一个,并且在该目录中,npm 期望有一个名为 的脚本。因此,如果您当前的目录中没有 a ,那么您将会收到错误。blahngnpm run ng new apppackage.jsonpackage.jsonngpackage.json
相反,关闭终端,然后打开一个新终端并简单地运行ng new app。
我自己很难找到这个答案,因为这个问题的其他答案没有解决真正的根本问题。
\n所有其他答案都建议ng使用(npm i -g ...)进行全局安装,其副作用是符号链接ng将出现在您的路径上。
根据OP的问题,我确实承认他很可能试图从全球安装的 Angular 应用程序中构建一个新的 Angular 应用程序ng。所以这可以解决 90% 的人的问题,而且一切都很好。
但是,我想使用本地安装的ng,这就是为什么我npm-script在package.json中有一个:
{\n...\n "scripts": {\n...\n "ng": "ng",\n...\n}\nRun Code Online (Sandbox Code Playgroud)\n如果这描述了您的用例,就像我的一样,那么请继续阅读。
\nnpm run ng update对我来说成功了,而其他具有更多参数的更复杂命令\xe2\x80\x94(包括命令行开关\xe2\x80\x94)彻底失败(npm run ng -- update @angular/cli --migrate-only tslint-version-6)。
答案在于,您必须分隔传递给的参数的开头npm run-script(--请参阅/sf/answers/1008295641/):
npm run ng -- update @angular/cli --migrate-only tslint-version-6\nRun Code Online (Sandbox Code Playgroud)\n因此,在 OP 的情况下,假设他已经有一个本地安装的ngpackage.json 副本(我承认这是值得怀疑的),他可以这样做:
npm run ng -- new app\nRun Code Online (Sandbox Code Playgroud)\n无论如何,希望这对其他人有帮助。
\n| 归档时间: |
|
| 查看次数: |
14704 次 |
| 最近记录: |