node.js - 我可以在 'npm install' 中设置 npm 使用的编译库路径吗?

标签 node.js npm

我有一个使用node.js运行的应用程序 - 为了解决特定的错误,我有一个自定义版本的 Node (不是系统默认安装),我想用它来运行我的应用程序。所以在我的启动脚本中我更改:

#!/usr/bin/env node

#!/Users/cmlacy/Dropbox/Engine/code/node-v0.8.9/out/Release/node

当我运行应用程序时,我收到了一系列更改之前未收到的错误:

crispin:node cmlacy$ ./engine.js 
dyld: lazy symbol binding failed: Symbol not found: __ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
  Referenced from: /Users/cmlacy/Dropbox/Engine/code/Engine-Developer/node/node_modules/mongodb/node_modules/bson/build/Release/bson.node
  Expected in: dynamic lookup

dyld: Symbol not found: __ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
  Referenced from: /Users/cmlacy/Dropbox/Engine/code/Engine-Developer/node/node_modules/mongodb/node_modules/bson/build/Release/bson.node
  Expected in: dynamic lookup

Trace/BPT trap: 5

我假设这是因为 node_modules 中的某些依赖项是针对错误的 Node 库进行编译的 - 如何更改 npm install 期间包含在编译中的 Node 版本?

最佳答案

确保您的特定 Node 版本位于 shell 中系统 Node 之前的路径中。这样就可以了(当然还要清除所有旧的 node_modules 构建目录)。

关于node.js - 我可以在 'npm install' 中设置 npm 使用的编译库路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16243301/

相关文章:

javascript - Javascript 中的动态 ID

javascript - keystone.js : how can I display content from 2 different models on my index page

node.js - 仅无法解析 fbjs/lib/memoize 字符串

javascript - Node.js Heroku App 应用程序错误。日志有问题

node.js - 如何排除不安全的 package.json transient 依赖项?

node.js - 使用 Selenium 和 NodeJS 从 onclick 按钮下载文件

node.js - 我应该将所有子包保留在 package.json 中的单个版本上吗?

node.js - Kinvey 中的自定义模块

json - 使用 dotenv Sequelize 迁移

node.js - React Native项目中npm install时package.json路径错误