gpt4 book ai didi

node.js - npm install, node-gyp build error 仅在两台相同机器中的一台上

转载 作者:行者123 更新时间:2023-12-04 19:18:01 24 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 14.04 VPS 上运行 npm install ,但安装 karma 时一直失败。
命令 npm install 是从 Jenkins 构建步骤执行的,但当我以 jenkins 用户身份登录时,也会从命令行失败。
Jenkins 服务器通过 Capistrano 在另一个 VPS(生产服务器)上调用部署,据我所知,它与第一个 VPS 一样好。

奇怪的是,npm install 也在生产服务器(第二个 VPS)上部署后运行,在这里它运行良好。

这是错误:

ws@0.5.0 install /var/lib/jenkins/workspace/bitbuilders-cms/node_modules/karma/node_modules/socket.io/node_modules/engine.io/node_modules/ws (node-gyp rebuild 2> builderror.log) || (exit 0) Killed



当我在此目录中检查 builderror.log 时,它说:
In file included from ../src/bufferutil.cc:15:0:
../node_modules/nan/nan.h: In function 'v8::Local<v8::Signature> NanNew(v8::Handle<v8::FunctionTemplate>, int, v8::Handle<v8::FunctionTemplate>*)':
../node_modules/nan/nan.h:207:78: error: no matching function for call to 'v8::Signature::New(v8::Isolate*, v8::Handle<v8::FunctionTemplate>&, int&, v8::Handle<v8::FunctionTemplate>*&)'
return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
^
../node_modules/nan/nan.h:207:78: note: candidate is:
In file included from ../src/bufferutil.cc:7:0:
/var/lib/jenkins/.node-gyp/2.0.2/deps/v8/include/v8.h:4188:27: note: static v8::Local<v8::Signature> v8::Signature::New(v8::Isolate*, v8::Handle<v8::FunctionTemplate>)
static Local<Signature> New(
^
/var/lib/jenkins/.node-gyp/2.0.2/deps/v8/include/v8.h:4188:27: note: candidate expects 2 arguments, 4 provided
../src/bufferutil.cc: In static member function 'static void BufferUtil::Initialize(v8::Handle<v8::Object>)':
../src/bufferutil.cc:32:17: warning: 'v8::Local<v8::String> NanSymbol(const char*, int)' is deprecated (declared at ../node_modules/nan/nan.h:616) [-Wdeprecated-declarations]
target->Set(NanSymbol("BufferUtil"), t->GetFunction());
^
../src/bufferutil.cc:32:39: warning: 'v8::Local<v8::String> NanSymbol(const char*, int)' is deprecated (declared at ../node_modules/nan/nan.h:616) [-Wdeprecated-declarations]
target->Set(NanSymbol("BufferUtil"), t->GetFunction());
^
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/var/lib/jenkins/.nvm/versions/io.js/v2.0.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1009:12)
gyp ERR! System Linux 3.2.0-56-generic
gyp ERR! command "/var/lib/jenkins/.nvm/versions/io.js/v2.0.2/bin/iojs" "/var/lib/jenkins/.nvm/versions/io.js/v2.0.2/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/lib/jenkins/workspace/bitbuilders-cms/node_modules/karma/node_modules/socket.io/node_modules/engine.io/node_modules/ws
gyp ERR! node -v v2.0.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok

当我运行 node-gyp rebuild 时,它给了我相同的输出。

同样,在另一台机器上它运行良好。

他们都运行:
  • Ubuntu 14.04
  • io.js 2.0.2
  • npm 2.9.0
  • GNU Make 3.81
  • python 2.7.6
  • gcc 4.8.2
  • Node gyp 1.0.3
  • 非虚拟机 0.25.2

  • 到目前为止我尝试过的

    我全局安装了 node-gyp (npm install -g node-gyp) 并运行 node 0.12.3。
    在安装之前我跑了:
  • npm 缓存清理
  • rm -rf Node 模块
  • rm -rf ~/.node-gyp

  • 在 npm install 给出此错误的 VPS 上,我无法运行任何 gulp 任务,因为它提示它找不到某些 npm 模块。
    在这台机器上 npm install 以用户 jenkins 运行。

    在 npm install 运行良好的另一个 VPS 上,后续的 gulp 任务也可以正常运行。
    在这台机器上,npm install 是通过 Capistrano 作为用户 www-data 执行的。它们都使用 shell/bin/bash。

    不幸的是,问题仍然存在。

    这里出了什么问题?
    任何帮助是极大的赞赏!

    最佳答案

    成功运行后npm install和通过 Jenkins 在 VM 上的 Karma,我得出的结论是,必须在 VPS 上严重破坏某些东西,这给我带来了麻烦。
    我在 VPS 上重新安装了 Ubuntu 14.04 和其余版本,现在一切正常。

    我还注意到,重新安装后,我不再需要显式启动 ssh-agent 并添加我的 ssh key ( eval ssh-agent -sssh-add [key] )即可开始在生产服务器上进行部署。
    也许这根本不相关,但如果有人遇到类似的问题,这可能会有所帮助。

    更新:另外,我发现这个帖子有人面临同样的问题。解决方案似乎是增加交换文件的大小。我没有尝试过,但它可能是正确的解决方案:https://www.digitalocean.com/community/questions/npm-gets-killed-no-matter-what?answer=18115

    关于node.js - npm install, node-gyp build error 仅在两台相同机器中的一台上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406162/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com