【问题标题】:How to Fix "npm ERR! addLocal Could not install"如何修复“npm ERR!addLocal 无法安装”
【发布时间】:2017-11-27 12:30:41
【问题描述】:

我在尝试将我的 Phoenix 应用程序推送到 Heroku 时遇到此错误。

我一直在关注guide from the Phoenix framework website

是什么导致了这个错误,我该如何解决?

WARNING: phoenix_static_buildpack.config wasn't found in the app
remote:        Using default config from Phoenix static buildpack
remote:        Will use the following versions:
remote:        * Node 6.9.2
remote:        Will export the following config vars:
remote:        * Config vars DATABASE_URL
remote:        * MIX_ENV=prod
remote: 
remote: -----> Installing binaries
remote:        Downloading node 6.9.2...
remote:        Installing Node 6.9.2...
remote:        Using default npm version
remote: 
remote: -----> Building dependencies
remote:        Installing and caching node modules
remote:        npm ERR! addLocal Could not install /tmp/build_23f60aac277eab15b4ce274dcaf9bb16/deps/phoenix
remote:        npm ERR! addLocal Could not install /tmp/build_23f60aac277eab15b4ce274dcaf9bb16/deps/phoenix_html

remote:        npm ERR! Linux 3.13.0-105-generic
remote:        npm ERR! argv "/tmp/build_23f60aac277eab15b4ce274dcaf9bb16/.heroku/node/bin/node" "/tmp/build_23f60aac277eab15b4ce274dcaf9bb16/.heroku/node/bin/npm" "install" "--quiet" "--unsafe-perm" "--userconfig" "/tmp/build_23f60aac277eab15b4ce274dcaf9bb16/npmrc"
remote:        npm ERR! node v6.9.2
remote:        npm ERR! npm  v3.10.9
remote:        npm ERR! path /tmp/build_23f60aac277eab15b4ce274dcaf9bb16/deps/phoenix
remote:        npm ERR! code ENOENT
remote:        npm ERR! errno -2
remote:        npm ERR! syscall open
remote:        
remote:        npm ERR! enoent ENOENT: no such file or directory, open '/tmp/build_23f60aac277eab15b4ce274dcaf9bb16/deps/phoenix'
remote:        npm ERR! enoent ENOENT: no such file or directory, open '/tmp/build_23f60aac277eab15b4ce274dcaf9bb16/deps/phoenix'
remote:        npm ERR! enoent This is most likely not a problem with npm itself
remote:        npm ERR! enoent and is related to npm not being able to find a file.
remote:        npm ERR! enoent
remote:        
remote:        npm ERR! Please include the following file with any support request:
remote:        npm ERR!     /tmp/build_23f60aac277eab15b4ce274dcaf9bb16/npm-debug.log
remote:  !     Push rejected, failed to compile Phoenix app.

【问题讨论】:

  • 从输出看来您的节点已更新,而 npm 没有。也许手动更新npm?在这里找到了可能的解决方案:github.com/npm/npm/issues/10165#issuecomment-152451743
  • 我试过这个(在问问题之前找到那个线程)但它没有帮助。不过谢谢你的想法。
  • 你试过使用 sudo 吗?
  • 是的,我也使用 sudo 运行了 hat 命令。

标签: npm elixir phoenix-framework


【解决方案1】:

我之前遇到过和你一样的问题。尝试将 npm 版本添加到 phoenix_static_buildpack.config 文件中

这是我的应用中的一个示例:

phoenix_static_buildpack.config(在根目录中)

clean_cache=false
compile="compile"
config_vars_to_export=(DATABASE_URL)
node_version=6.9.5
npm=3.10.8
phoenix_relative_path=.
remove_node=false

您还可以设置 elixir_buildpack.config(也在根目录中)

erlang_version=18.3
elixir_version=1.4.0
always_rebuild=false
runtime_path=/app

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 2015-08-31
    • 2022-01-17
    • 2018-10-29
    • 1970-01-01
    • 2019-05-20
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多