我正在处理一个新项目,但是我无法正确安装软件包。我使用了npm install
,yarn
,npm install --only=dev
,但还不够。我也尝试删除node_modules和package-lock.json。状态是一样的。
我们在项目babel的6.x版本中使用。 Babel的更新为7.x,我认为我在运行npm install
,npm install --only=dev
,yarn
时由于版本差异而收到错误消息。
npm WARN已弃用babel-preset-es2015@6.24.1:�感谢使用Babel:我们建议立即使用babel-preset-env:请阅读babeljs.io/env进行更新! npm通知创建了一个作为package-lock.json的锁文件。您应该提交此文件。 npm WARN babel-loader@8.0.4需要一个对等体@ babel / core @ ^ 7.0.0,但没有安装。您必须自己安装对等依赖项。 npm WARN babel-loader@8.0.4需要一个webpack @> = 2的同位体,但未安装。您必须自己安装对等依赖项。
我使用WebStorm。在此之前,我尝试通过npm install获得另一个项目的软件包。 “ Npm”不成功。 WebStorm使用纱来建议我,而我使用纱。它工作了。
我应该在该州做什么?
在npm install
之后,当我运行parcel index.html
时,出现控制台错误
“未捕获的TypeError:window.fooes不是构造函数”,未定义的ReferenceError:regeneratorRuntime未定义。
我知道代码没有问题,因为项目可以在团队的计算机上正常工作。
答案 0 :(得分:0)
第一个也是最重要的:
切勿同时使用npm
和yarn
。选择其中之一,并仅使用它们是因为它们都基于已安装的软件包使用了锁定文件。
使用哪个:
npm
和yarn
都使用NPM软件注册表数据库。因此,最后安装软件包的最终结果是相同的,但是yarn
的工作快得多。 Yarn
是Facebook开发的,因为npm
的运行缓慢。因此,我更喜欢yarn
,而不再使用npm
命令。
对于您的问题:
package-lock.json
和yarn.lock
锁定文件。node_modules
目录。package.json
文件。 备份该文件!package.json
,建议您首先删除其中的所有条目
与Babel
相关并保存。yarn
文件所在的位置)运行package.json
命令(无参数)。这应该再次安装所有软件包。然后使用以下命令安装Babel
的最新软件包:
yarn add -D @babel/core
yarn add -D @babel/preset-env
yarn add -D babel-loader
您可能需要Babel
中的其他软件包。查看备份的package.json
,并在npm registry或Babel's plugins documentation page中搜索剩余插件(如果有)的最新版本。