本文介绍了在 OS X 上安装 pty.js(节点)时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在尝试使用 node 安装 pty.js 时遇到了一个异常问题:

I have run into an unusal problem when trying to install pty.js using node:

如果我运行 npm install pty.js 我收到这个错误:

If I run npm install pty.js I receive this error:

> node-gyp rebuild

  CXX(target) Release/obj.target/pty/src/unix/pty.o
../src/unix/pty.cc:487:10: error: use of undeclared identifier 'openpty'
  return openpty(amaster, aslave, name, (termios *)termp, (winsize *)winp);
         ^
../src/unix/pty.cc:533:10: error: use of undeclared identifier 'forkpty'
  return forkpty(amaster, name, (termios *)termp, (winsize *)winp);
         ^
2 errors generated.
make: *** [Release/obj.target/pty/src/unix/pty.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:809:12)
gyp ERR! System Darwin 13.3.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/otiswright/Developer/Projects/Web/Hatchway/node_modules/pty.js
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.13.1
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the pty.js package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls pty.js
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "pty.js"
npm ERR! cwd /Users/otiswright/Developer/Projects/Web/Hatchway
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.5.0-alpha-4
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/otiswright/Developer/Projects/Web/Hatchway/npm-debug.log
npm ERR! not ok code 0

我安装了 node-gyp,运行 OS X 并安装了 xcode + 命令行.

I have node-gyp installed am running OS X with xcode + commandlines installed.

我不确定问题出在哪里?可能是依赖项.

I am not sure where the problem is occurring? Could be dependencies.

推荐答案

我在使用不同的节点包 devtools-terminal 时遇到了同样的问题.

I had the same issue with a different node package devtools-terminal.

问题是 OSX 的头文件配置不正确,正如 这里.

The problem is that a header file is configured incorrectly for OSX as explained here.

这是我使用的解决方法:

  1. mkdir/tmp/pty.js
  2. git clone https://github.com/chjj/pty.js.git/tmp/pty.js
  3. vi/tmp/pty.js/src/unix/pty.cc
  4. 将第 39 行:#include 替换为 #include "/usr/include/util.h"
  5. npm install -g/tmp/pty.js
  6. 现在 npm install -g devtools-terminal 应该可以工作了.
  1. mkdir /tmp/pty.js
  2. git clone https://github.com/chjj/pty.js.git /tmp/pty.js
  3. vi /tmp/pty.js/src/unix/pty.cc
  4. replace line 39: #include <util.h> with #include "/usr/include/util.h"
  5. npm install -g /tmp/pty.js
  6. and now npm install -g devtools-terminal should work.

通过这种方式,您可以解决 pty.js 中的问题,并使用您的本地副本作为您要安装的软件包的依赖项.

This way you fix the issue in pty.js and use your local copy as the dependency for the package you with to install.

祝你好运!

这篇关于在 OS X 上安装 pty.js(节点)时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-22 11:16