2016-04-10 126 views
3

John Papa's post on 'How to use npm global without sudo on OSX'和我正在酿造安装节点--without-NPM失败

brew install node --without-npm 

我得到这个信息/错误(S):

/usr/local > brew install node --without-npm 
==> Downloading https://nodejs.org/dist/v5.10.1/node-v5.10.1.tar.xz 
Already downloaded: /Library/Caches/Homebrew/node-5.10.1.tar.xz 
==> Downloading https://ssl.icu-project.org/files/icu4c/56.1/icu4c-56_1-src.tgz 
Already downloaded: /Library/Caches/Homebrew/node--icu4c-56.1.tgz 
==> ./configure --prefix=/usr/local/Cellar/node/5.10.1 --without-npm --with-intl 
==> make install 
Last 15 lines from /Users/justin/Library/Logs/Homebrew/node/02.make: 
#include <limits> 
     ^
In file included from ../deps/gtest/src/gtest-death-test.cc:34: 
In file included from ../deps/gtest/include/gtest/gtest-death-test.h:41: 
In file included from ../deps/gtest/include/gtest/internal/gtest-death-test-internal.h:40: 
In file included from ../deps/gtest/include/gtest/internal/gtest-internal.h:40: 
../deps/gtest/include/gtest/internal/gtest-port.h:259:10: fatal error: 'ctype.h' file not found 
#include <ctype.h> // for isspace, etc 
     ^
1 error generated. 
make[1]: *** [/private/tmp/node20160410-11435-157r8bn/node-v5.10.1/out/Release/obj.target/gtest/deps/gtest/src/gtest-filepath.o] Error 1 
make[1]: *** Waiting for unfinished jobs.... 
1 error generated. 
make[1]: *** [/private/tmp/node20160410-11435-157r8bn/node-v5.10.1/out/Release/obj.target/gtest/deps/gtest/src/gtest-death-test.o] Error 1 
make: *** [node] Error 2 

Homebrew's troubleshooting instructions,我跑了两次brew updatebrew doctor - 但仍然没有运气。我不熟悉自制软件,并且在一段时间内没有与这些东西混淆。任何想法这些错误是什么意思?

回答

3

看来你并没有安装命令行开发工具。用自制安装节点之前,尝试在终端执行以下命令:

xcode-select --install 

如果安装成功将显示此消息:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates 

安装后,再次运行brew命令。

ctype.h文件应该在/usr/include/ctype.h之类的地方。

+2

有一件事要补充到这个答案。您可能需要更新到最新版本的xCode。我安装了命令行工具,并通过了这个错误,但结束了另一个。查看'brew doctor'的输出显示xCode已过时。 xCode更新后,构建成功。 – ke4ktz

+0

我最终走上了使用[NVM](https://github.com/creationix/nvm)的路线,因此绕过了解决错误和处理许可问题的需求。话虽如此,这似乎确实使错误消失 - 标记为正确。 –