可以将 npm 3.x 与 nodejs 4.x 一起使用吗?

Is it ok to use npm 3.x with nodejs 4.x?

见标题。我在互联网上搜索了所有,但找不到确切的答案。

我想使用 npm3 的原因是因为我在 Windows 环境中工作,并且遇到了可怕的太长路径名。目前迁移 Windows 不是一个可行的选择。

此外,我无法升级到节点 5.x,因为我使用的是 karma 测试运行器,节点 5.x

尚不支持它

所以,我想将节点 4.x 与 npm 3.x 一起使用。

我已经成功更新了我的机器,使用 slick npm-windows-upgrade 包,将 npm 3 与节点 4 一起使用。

升级后,我确实看到了一些与 karma 相关的问题,没有意识到 jasmine/phantomjs 可用。解决方法是在本地安装这两个软件包。

是的。 npm 3.x 与节点 4.x 兼容。 其实任何节点 >= 0.8 都可以。

这已记录在 https://www.npmjs.com/package/npm#important 您需要节点 v0.8 或更高版本才能 运行 此程序。

还有更多,我建议你使用nvm https://github.com/creationix/nvm 使用nvm可以很容易地在各种节点环境中切换。

你的jasmine/phantomjs是peerDependencies引用的,npm2.x会在缺少的时候安装,发现多个package版本冲突会报错

如您所知,npm 3.x 扁平化包依赖项,peerDependencies 将仅打印一行警告消息(不会安装),您应该在 package.json 文件中手动包含 peerDependencies , 这意味着应该由您决定应该安装哪个版本。