babel-preset-es2016需要一个babel-runtime对等体,但没有安装

时间:2016-03-27 02:41:32

标签: javascript node.js npm babeljs

我意识到npm不再安装对等依赖项,但是当我进行手动安装时,为什么还会收到警告?

    ➜  npm install babel-runtime -g     
    /usr/local/lib
    └─┬ babel-runtime@6.6.1 
      └── core-js@2.2.1 

    ➜  npm install babel-preset-es2016 -g
    /usr/local/lib
    ├── babel-preset-es2016@6.0.8 
    └── UNMET PEER DEPENDENCY babel-runtime@^6.6.1

npm WARN babel-preset-es2016@6.0.8 requires a peer of babel-runtime@^6.6.1 but none was installed.

修改

如果我在本地安装(根据以下建议),我不会收到警告:

➜  test npm i babel-runtime@\^6.6.1
test@1.0.0 /home/jdifool/work/test
├── babel-preset-es2016@6.0.8 
├── babel-runtime@6.6.1 
└─┬ babelify@7.2.0
  └─┬ babel-core@6.7.4
    ├─┬ babel-code-frame@6.7.4
    │ └── babel-runtime@5.8.38 
    ├─┬ babel-generator@6.7.2
    │ └── babel-runtime@5.8.38 
    ├─┬ babel-helpers@6.6.0
    │ └── babel-runtime@5.8.38 
    ├─┬ babel-messages@6.7.2
    │ └── babel-runtime@5.8.38 
    ├─┬ babel-register@6.7.2
    │ └─┬ babel-runtime@5.8.38 
    │   └── core-js@1.2.6 
    ├── babel-runtime@5.8.38 
    ├─┬ babel-template@6.7.0
    │ └── babel-runtime@5.8.38 
    ├─┬ babel-traverse@6.7.4
    │ └── babel-runtime@5.8.38 
    ├─┬ babel-types@6.7.2
    │ └── babel-runtime@5.8.38 
    └─┬ babylon@6.7.0
      └── babel-runtime@5.8.38 

为什么?

2 个答案:

答案 0 :(得分:3)

非常冗长。只需安装所需的包

即可
$ npm i babel-runtime@^6.6.1 -g

在全局范围内安装,因为您的预设也在全局范围内,然后重试。

更新(由@JohnDifool提供): 似乎警告仅显示全局安装。

答案 1 :(得分:1)

当我遇到这个问题时,它通过更新npm,清除npm缓存,然后再次运行npm install命令来解决。但是,我将详细介绍一直存在的问题。

更新npm

首先,我尝试使用npm update -g npm更新npm,但这引发了错误:

npm ERR! addLocal Could not install /private/var/folders/_n/vgvdlrpj64l_g98d_dxs5pd40000gp/T/npm.80873/package

我可以使用命令npm install -g npm@latest代替as suggested by GitHub user bronzeiii成功更新。

在重新运行npm install

之前进行清理
rm -rf node_modules
npm cache clean

最后一步

npm install