我的npm项目将esprima-six-npm模块作为传递依赖项。最近,它变得无法下载,如npm install
:的以下输出所示
npm ERR! 404 Not Found
npm ERR! 404
npm ERR! 404 'esprima-six' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'syntax-error'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.
在npm网站上,无法找到esprima six:https://www.npmjs.com/package/esprima-six
但谷歌对该页面的缓存显示,它曾经存在:http://webcache.googleusercontent.com/search?q=cache:81uuMFHrDeMJ:https://www.npmjs.com/package/esprima-6+&cd=1&hl=en&ct=clnk&gl=uk&client=ubuntu
那么,为什么模块变得不可用呢?让我的项目再次构建的最佳方式是什么?
编辑:最后,我将依赖esprima-six的依赖项更新到了不需要它的更高版本。
esprima-six
已被取消推送,不再存在。
很难追踪到底发生了什么,但esprima-six
似乎是一个基于该项目的非官方harmony
分支的模块,该分支在esprima-fb
(一个添加了JSX语法的分支)被弃用后于2015年5月被弃用。
现在不再需要esprima-six
,因为Esprima 2.0正式支持ES6。
重新构建项目的最佳方式是什么?
Esprima的维护者Ariya Hidayat的立场是,你应该切换到Esprima 2.x。
我的项目将
esprima-six
npm模块作为传递性依赖项。
在这种情况下,更新你的直接依赖关系可能就足够了,他们已经切换了。