使用"npm install"并通过"npm start"启动本地服务器后,我开始收到此错误: -
ERROR in ./~/@angular/material/@angular/material.es5.js
Module not found: Error: Can't resolve '@angular/animations' in '/home/ashvini/Desktop/HN-Angular2/node_modules/@angular/material/@angular'
@ ./~/@angular/material/@angular/material.es5.js 20:0-81
@ ./src/app/app.module.ts
@ ./src/main.ts`enter code here`
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
webpack: Failed to compile.
Run Code Online (Sandbox Code Playgroud)
这与角度材料设计有关,但我无法理解解决此问题需要做些什么.
在"npm install"之前它运行正常.
适用于大型网络应用程序npm install.yarn install确实需要花费很多时间,主要是在一个叫做的步骤中Linking Dependencies.这里发生了什么?它是否获取依赖项的依赖项?还是完全不同的东西?在此步骤中创建了哪些文件?
我将依赖项添加到package.json将用作虚拟机配置过程的一部分.因此,我实际上并不需要在本地安装模块,因为供应商会在VM内为我做这件事.那么有什么办法可以做到以下几点:
npm install --save <module>
Run Code Online (Sandbox Code Playgroud)
这样它只会在package.json 不实际下载模块或创建node_modules文件夹的情况下为最新版本的模块创建依赖关系?
该--dry-run选项很接近,因为它不会创建node_modules文件夹,但也不会写入package.json任何文件夹.
现在,每次我需要在重新配置VM之前更新软件包时,我都会手动执行以下操作:
rm -rf node_modules
Run Code Online (Sandbox Code Playgroud)
其他原因可能包括能够package.json在低带宽情况下轻松构建文件,例如网络共享,您知道最终需要该模块但不想节省带宽.
我正在使用NodeJS中的CLI工具,该工具使用我们开发的另一个NodeJs包,它是一个SDK.
问题是,我们刚刚发布了该SDK的V2版本,我们希望为CLI用户提供遗留模式,因此他们可以使用SDK的第一版或第二版,如下所示:
$ cli do-stuff
#execute sdk v2
Run Code Online (Sandbox Code Playgroud)
要么
$ LEGACY_MODE='on' cli do-stuff
#execute sdk v1
Run Code Online (Sandbox Code Playgroud)
我的问题是我没有找到任何干净的方法在我的CLI中使用相同依赖的两个版本.我试着使用npm-install-version包.它在我的本地环境中运行良好,但在发布我的cli并执行后npm install -g my-cli,它不再起作用,因为它在当前文件夹而不是文件夹中创建了node_modules文件/usr/local/lib/node_modules/my-cli夹.我也试过multidep,我有同样的问题.
现在,我的package.json根本不包含我的sdk,但我希望有类似的东西:
"dependencies": {
"my-sdk": "2.0.0"
"my-sdk-legacy": "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)
要么
"dependencies": {
"my-sdk": ["2.0.0", "1.0.0"]
}
Run Code Online (Sandbox Code Playgroud)
我还没有找到任何其他东西.我正在考虑使用其他名称发布我的sdk软件包的第一个版本,例如"my-sdk-legacy",但我想尽可能避免这种情况.
任何解决方案?
当我想创建一个 React 应用程序时,我遇到了以下错误:
Run Code Online (Sandbox Code Playgroud)npm ERR! Response timeout while trying to fetch https://registry.npmjs.org/react-is (over 30000ms) npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\info\AppData\Roaming\npm-cache\_logs\2020-04-23T02_54_45_865Z-debug.log Aborting installation. npm install --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed. Deleting generated file... package.json Deleting app2/ from C:\Users\info Done.
运行时npm install -g ionic我收到以下错误:
致命错误:CALL_AND_RETRY_LAST分配失败 - JavaScript堆内存不足
有没有办法全局增加node.js内存限制?
我正在开发Visual Studio 2017中的Asp.Net Core 2和Angular 5项目.
当我要发布我的项目时,错误' 命令'npm run build - --prod"退出,代码1 '显示在错误列表窗口中.
我在ASP.NET Core 2 Angular模板链接中使用Angular CLI
创建了项目,一切都很好,项目正确运行和发布.
过了一会儿,我不知道究竟发生了什么导致项目没有发布.
在npm-debug.log文件中
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 'run',
1 verbose cli 'build',
1 verbose cli '--',
1 verbose cli '--prod' ]
2 info using npm@3.10.10
3 info using node@v6.10.3
4 verbose stack Error: ENOENT: no such file or directory, open …Run Code Online (Sandbox Code Playgroud) 我正在尝试为新开发人员在他们的本地开发环境中安装我们的代码库整理文档。我想给他们以下命令:
“npm ci”几乎完全符合我的要求,但似乎没有安装 devDependencies。“npm install”确实会安装 devDependencies,但它有时会修改 package-lock.json。
我可以想象一些像“npm install && git checkout package-lock.json”这样的问题,但我觉得必须有一种更惯用的方式来表达“给我一个干净安装这个项目的开发依赖项?”
如果我有这样的NPM 7 工作区:
root
- submodule0
- submodule1
- submodule2
Run Code Online (Sandbox Code Playgroud)
我导航到 submodule0 目录并运行npm i somepackage它似乎通过在 submodule0 目录中创建一个新的 package-lock.json 并在那里安装所有依赖项来“破坏”工作区。换句话说,它只是执行我创建工作区之前存在的旧行为。我希望有一个类似于lerna的命令,我可以在那里从root中的 submodule0 中安装一个新包。就像是:
npm i somepackage --scope submodule0
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能找到的唯一解决方法是编辑 submodule0 package.json 并somepackage手动添加。然后npm i从根运行。显然这并不理想,因为我需要查找@latest 版本,导航到子目录,打开 package.json 等,而不是仅在根目录中键入一行。
上下文
我的.npmrc文件似乎被正确读取(npm config ls -l从命令行和Maven构建中检查).
npm运行的机器无法直接连接到网络,它只能连接到Nexus npm注册表网址.因此,代理属性proxy和https-proxy未设置.
由于对Nexus的访问受到限制,我已在Nexus中生成了访问令牌.
Nexus安全令牌由用户名和密码组成,两者都包含/通常必须"url编码"的字符
正如预期的那样,使用此配置时,运行时npm install检测不到代理.
Nexus npm注册表代理似乎设置正确(我可以使用生成的令牌连接后使用Web浏览器访问json文件和下载tgz文件)
如果我设置registry到http://registry.npmjs.org/和评论_auth,email,always-auth,strict-ssl性能,并添加proxy和https-proxy配置,npm install按预期工作(但我无法做到这一点的目标环境)
.npmrc文件内容
; Nexus proxy registry pointing to http://registry.npmjs.org/
registry = https://<host>/nexus/content/repositories/npmjs-registry/
; base64 encoded authentication token
_auth = <see question below>
; required by Nexus
email = <valid email> …Run Code Online (Sandbox Code Playgroud) npm-install ×10
npm ×9
node.js ×4
angular ×2
angular-cli ×1
asp.net-core ×1
nexus ×1
npm-ci ×1
npm-scripts ×1
reactjs ×1
yarnpkg ×1