2016-04-10 152 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)的路線,因此繞過了解決錯誤和處理許可問題的需求。話雖如此,這似乎確實使錯誤消失 - 標記爲正確。 –