#author("2016-07-14T10:45:55+09:00","","")
*Node.js [#qa8b7d2c]
**公式 [#p9401ccf]
[[公式Node.js:https://nodejs.org/en/]]
//**さくらインターネットスタンダードプランにnodejsをインストール ports編
//[[レンタルサーバへのNode.js導入:http://aics-app.sakura.ne.jp/blog/2015/03/15/%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%81%B8%E3%81%AEnode-js%E5%B0%8E%E5%85%A5/]]を参考にした。
**さくらインターネットスタンダードプランに git をインストール [#h636bf84]
[[さくらインターネットレンタルサーバにGitをインストールする:http://blog.onpu-tamago.net/entry/2016/03/25/182707]]を参考に最新バージョンをインストール
[[https://curl.haxx.se/download/]]から最新版をダウンロード
wget https://curl.haxx.se/download/curl-7.49.1.tar.gz
[[最新のGitソースコード:https://github.com/git/git/releases]]をインストール
[[https://github.com/git/git/archive/v2.9.1.tar.gz]]
[[「fatal: Unable to find remote helper for ‘https’」が出るので「--with-curl=/usr/local」をつける:http://qiita.com/ynakajima/items/d3015c1d5b90cc31c9c7]]
cd ~/local/src
wget https://github.com/git/git/archive/v2.9.1.tar.gz
tar xjvf v2.9.1.tar.gz
cd git-2.9.1/
gmake configure
./configure --prefix=$HOME/local --enable-pthreads=-pthread --with-curl=/usr/local
gmake all install
**さくらインターネットスタンダードプランにnodejsをインストール [#e09cf94e]
[[node.js v0.12.0 インストール レンタルサーバー さくらスタンダード編:http://fanblogs.jp/scripts/archive/1/0]]を参考にした。
[[root権限なしでNode.js、MongoDBをインストールする方法:http://uguisu.skr.jp/Windows/node.html]]
***環境変数を追加 [#cae95f63]
.cshrc に下記を追加
setenv PATH ${PATH}:${HOME}/local/bin
setenv NODE_PATH ${HOME}/local/lib/node_modules
setenv NODE_MODULES ${HOME}/local/bin/node_modules
setenv LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HOME}/local/lib
設定を反映させる。
source ~/.cshrc
***libexecinfoをインストール [#df253821]
wget ftp://ftp.tw.freebsd.org/pub/distfiles/libexecinfo-1.1.tar.bz2
tar yxvf libexecinfo-1.1.tar.bz2
cd libexecinfo-1.1
vi execinfo.c
81行目を次のように修正する
- (char **)cp = &(rval[size]);
+ cp = (char *)&(rval[size]);
setenv SRCCONF ~/usr/local/etc/src.conf
make
cp libexecinfo.* ~/local/lib/
cp execinfo.h ~/local/include/
[[https://nodejs.org/download/release/]]から最新版をダウンロード
今回はv0.12.15をダウンロード
cd ~/
mkdir -p local/src
cd local/src
wget https://nodejs.org/download/release/latest-v0.12.x/node-v0.12.15.tar.gz
tar xvzf node-v0.12.15.tar.gz
cd node-v0.12.15
vi deps/v8/tools/gyp/v8.gyp
['OS=="freebsd"', {
'include_dirs+': [
'${HOME}/local/include'
],
'link_settings': {
'include_dirs+': [
'${HOME}/local/include'
],
'libraries': [
'-L/usr/local/lib -lexecinfo',
'-L/usr/local/lib -${HOME}/local/lib -lexecinfo',
]},
'sources': [
'../../src/base/platform/platform-freebsd.cc',
'../../src/base/platform/platform-posix.cc'
],
}
],
下記コマンドでなぜかMD5のエラーが出るので、[[別でダウンロード:http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.zip]]して./deps に置く
./configure --with-intl=small-icu --download=all --prefix=$HOME/local
creating ./icu_config.gypi
* ECMA-402 (Intl) support didn't find ICU in ./deps/icu..
<http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.zip>
Fetch: : 0.0MB total, 0.0MB downloaded
MD5: 0103b909e19ca9c6497a7ae696c16480 ./deps/icu4c-55_1-src.zip
Expected: 4cddf1e1d47622fdd9de2cd7bb5001fd *MISMATCH*
** Corrupted ZIP? Delete ./deps/icu4c-55_1-src.zip to retry download.
Cannot build Intl without ICU in ./deps/icu.
(Fix, or disable with "--with-intl=none" )
***deps/v8/src/platform-freebsd.cc を修正 [#fdb381f6]
vi deps/v8/src/platform-freebsd.cc
std::vector<OS::SharedLibraryAddress> OS::GetSharedLibraryAddresses() {
- std::vector<SharedLibraryAddress> result;
+ std::vector<SharedLibraryAddress> address_result;
static const int MAP_LENGTH = 1024;
int fd = open("/proc/self/maps", O_RDONLY);
- if (fd < 0) return result;
+ if (fd < 0) return address_result;
while (true) {
char addr_buffer[11];
addr_buffer[0] = '0';
@@ -156,10 +156,10 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLibraryAddresses() {
// There may be no filename in this line. Skip to next.
if (start_of_path == NULL) continue;
buffer[bytes_read] = 0;
- result.push_back(SharedLibraryAddress(start_of_path, start, end));
+ address_result.push_back(SharedLibraryAddress(start_of_path, start, end));
}
close(fd);
- return result;
+ return address_result;
}
***deps/v8/src/base/platform/platform-posix.ccを修正 [#yd1bcd37]
vi deps/v8/src/platform-freebsd.cc
@@ -328,7 +328,7 @@ int OS::GetCurrentThreadId() {
#elif V8_OS_ANDROID
return static_cast<int>(gettid());
#else
- return static_cast<int>(pthread_self());
+ return static_cast<int> ((int64_t) (void *) pthread_self());
#endif
}
[[参考:https://github.com/nodejs/node-v0.x-archive/issues/9175]]
***nodejsをインストール [#z38186d0]
./configure --with-intl=small-icu --download=all --prefix=$HOME/local
gmake
gmake install
**nodist [#vc24a062]
[[node.js インストール備忘録(windows7):http://qiita.com/yokoh9/items/20d6bdc6030a3a861189]]