【问题标题】:Couldn't find preset "es2015" relative to directory "web/static/js"找不到相对于目录“web/static/js”的预设“es2015”
【发布时间】:2016-03-24 13:40:30
【问题描述】:

我正在尝试构建一个 vagrant 服务器来涉足 elixir 和 phoenix,但在安装了所有要求和依赖项之后,并在运行 mix phoenix.server 时出现以下错误:

错误:“web/static/js/app.js”的编译失败。找不到相对于目录“web/static/js”的预设“es2015”;

我不确定这里的“预设”的上下文,我希望更有经验的凤凰用户会知道它的意思。

一些粗略的谷歌没有给我任何信息,除了它可能与 babel 有关。

编辑:我刚刚尝试安装我认为是丢失的包,sudo npm install babel-preset-es2015 -g,但它没有解决错误。

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    请在此处查看修复: https://github.com/phoenixframework/phoenix/issues/1410

    1. 升级到节点 >= v5.0.0
    2. npm 缓存清理
    3. cd my_app
    4. rm -rf node_modules/
    5. npm 安装
    6. 混合 phoenix.server

    【讨论】:

    • 谢谢,克里斯。它仅在将 npm 提升到 >= v3 后才对我有用。
    • 谢谢克里斯。我还需要更新 npm。 npm -v # 如果小于 3.0 npm install npm -g
    • 你成就了我的一天
    • @Chris McCrod 这个答案还有意义吗?我看到新的答案表明这不再有效。
    【解决方案2】:

    我看到这里已经有一个公认的答案。我刚刚遇到了完全相同的错误,并尝试了上面发布的解决方案 Chris。它对我不起作用,但根据上面 Chris 发布的 github 问题链接,我找到了一个适合我的解决方案。

    我发现您不一定需要使用 node v5.0+。我正在使用节点 4.4.3 LTS,一切正常。

    npm install --save-dev babel-preset-es2015

    【讨论】:

    • 正如您将在我的 OP 中看到的那样,这是我尝试但没有成功的事情。可能是我们的问题不同,或者当然是随着时间的推移发生了一些变化。
    【解决方案3】:

    我的解决方案效果很好:

    .pipe(babel({
        presets: [require('babel-preset-es2015')]
    }))
    

    谢谢!

    【讨论】:

      【解决方案4】:

      接受的答案对我不起作用。

      我必须在我的应用的父目录中删除 .babelrc

      【讨论】:

        猜你喜欢
        • 2016-08-27
        • 2016-11-23
        • 2017-03-04
        • 1970-01-01
        • 1970-01-01
        • 2018-07-22
        • 1970-01-01
        • 2018-01-26
        相关资源
        最近更新 更多