在 ubuntu 16.04 上安装 aerospike-node 客户端时出错
Error while installing aerospike-node client on ubuntu 16.04
我正在尝试在 Ubuntu.
上使用 npm 安装 aerospike-node 客户端
npm install aerospike
安装时出现错误,如
SOLINK_MODULE(target) Release/obj.target/aerospike.node
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
aerospike.target.mk:186: recipe for target 'Release/obj.target/aerospike.node' failed
make: *** [Release/obj.target/aerospike.node] Error 1
rm binding_gyp_aerospike_client_c_target_run_scripts_aerospike_client_c_sh.intermediate
make: Leaving directory '/home/sys1095/NodeProjects/aerospike-test/node_modules/aerospike/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-21-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/sys1095/NodeProjects/aerospike-test/node_modules/aerospike
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN aerospike-test@1.0.0 No repository field.
npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "aerospike"
npm ERR! node v6.10.0
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
环境:: node -v 6.10.0 ,node-gyp -v 3.4.0 ,npm -v 3.10.10.
我确实在 aerospike github 问题上检查过这个问题,但我没有得到任何(具体的)信息。
我认为主要问题从这里开始
/usr/bin/ld: cannot find -lz
我不明白那是什么。
节点版本或任何与 os(ubuntu) 相关的 gcc 编译器版本的问题。
帮我解决这个问题。
我将post 在这里node.js 从我的草稿笔记中为我的申请Ubuntu 16.04 所做的工作。希望你能按照我的步骤,包括我的错误!!!,找出你错过的地方。
==== 就这样了====
安装node.js
在 Ubuntu 16.04.1 LTS
上安装并测试 node.js 客户端
https://nodejs.org/en/
为大多数用户下载并安装最新的推荐版本。
node-v6.9.1-linux-x64.tar.xz
(将文件保存到下载目录)
$ cd ~/Downloads/
$ tar xvf node-v6.9.1-linux-x64.tar.xz
⇒ node-v6.9.1-linux-x64 目录,包含所有 node.js 个组件。
$ sudo mv node-v6.9.1-linux-x64 /usr/local/nodejs
安装库先决条件
sudo apt-get install libssl0.9.8 libssl-dev liblua5.1-dev
(找不到 libssl0.9.8 - ubuntu 16.04 使用 libssl1.0.0)
让我们一次做一个:
$sudo apt-get install liblua5.1-dev
(<-- 只需要这样做)
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
请注意,选择 'liblua5.1-0-dev' 而不是 'liblua5.1-dev'
将安装以下附加软件包:
autotools-dev libltdl-dev libtool libtool-bin
推荐套餐:
libtool-doc autoconf automaken gfortran | fortran95-编译器gcj-jdk
将安装以下新软件包:
autotools-dev libltdl-dev liblua5.1-0-dev libtool libtool-bin
0 个已升级,5 个新安装,0 个要删除,165 个未升级。
需要获得 594 kB 的档案。
此操作后,将使用 3,180 kB 的额外磁盘 space。
$sudo apt-get install libssl-dev
(见下文,已安装)
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
libssl-dev 已经是最新版本 (1.0.2g-1ubuntu4.5)。
0 个已升级,0 个新安装,0 个要删除,165 个未升级。
$ sudo apt-get install libssl1.0.0
(见下文,已安装)
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
libssl1.0.0 已经是最新版本 (1.0.2g-1ubuntu4.5)。
0 个已升级,0 个新安装,0 个要删除,165 个未升级。
添加符号链接:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.so /usr/lib/liblua.so
$ sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.a /usr/lib/liblua.a
$ ls /usr/lib/liblua*
lrwxrwxrwx 1 root root 37 Nov 2 13:17 /usr/lib/liblua.a -> /usr/lib/x86_64-linux-gnu/liblua5.1.a
lrwxrwxrwx 1 root root 38 Nov 2 13:17 /usr/lib/liblua.so -> /usr/lib/x86_64-linux-gnu/liblua5.1.so
安装 npm
(如果没有npm,则无法安装aerospike node.js客户端。)
$ npm install aerospike
程序'npm'当前未安装。您可以通过键入以下内容来安装它:
sudo apt 安装 npm
$ sudo apt install npm
运行申请
($cd your_location/your_application/Node)
修改package.json.
是:
{
"name": "xxx-app",
"version": "0.0.1",
"dependencies": {
"aerospike": "^1.0.36",
"inquirer": "^0.8.0" <--- my app specific
}
}
更改:"aerospike": "^2.0.0"
、
那么,
$npm install inquirer --save-dev
(inquirer 是我的应用程序的命令行 i/o 库。)
$npm install aerospike --save-dev
它应该将 package.json 更新为如下内容:
$ more package.json
{
"name": "xxx-app",
"version": "0.0.1",
"dependencies": {
"aerospike": "^2.0.0",
"inquirer": "^0.8.0"
},
"devDependencies": {
"aerospike": "^2.4.1",
"inquirer": "^0.8.5"
}
}
运行宁节点--(我的)app.js
在相应的子目录中:
$which nodejs
/usr/bin/nodejs
$nodejs app.js
我正在尝试在 Ubuntu.
上使用 npm 安装 aerospike-node 客户端npm install aerospike
安装时出现错误,如
SOLINK_MODULE(target) Release/obj.target/aerospike.node
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
aerospike.target.mk:186: recipe for target 'Release/obj.target/aerospike.node' failed
make: *** [Release/obj.target/aerospike.node] Error 1
rm binding_gyp_aerospike_client_c_target_run_scripts_aerospike_client_c_sh.intermediate
make: Leaving directory '/home/sys1095/NodeProjects/aerospike-test/node_modules/aerospike/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-21-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/sys1095/NodeProjects/aerospike-test/node_modules/aerospike
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN aerospike-test@1.0.0 No repository field.
npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "aerospike"
npm ERR! node v6.10.0
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
环境:: node -v 6.10.0 ,node-gyp -v 3.4.0 ,npm -v 3.10.10.
我确实在 aerospike github 问题上检查过这个问题,但我没有得到任何(具体的)信息。 我认为主要问题从这里开始
/usr/bin/ld: cannot find -lz
我不明白那是什么。 节点版本或任何与 os(ubuntu) 相关的 gcc 编译器版本的问题。
帮我解决这个问题。
我将post 在这里node.js 从我的草稿笔记中为我的申请Ubuntu 16.04 所做的工作。希望你能按照我的步骤,包括我的错误!!!,找出你错过的地方。
==== 就这样了====
安装node.js 在 Ubuntu 16.04.1 LTS
上安装并测试 node.js 客户端https://nodejs.org/en/ 为大多数用户下载并安装最新的推荐版本。 node-v6.9.1-linux-x64.tar.xz
(将文件保存到下载目录)
$ cd ~/Downloads/
$ tar xvf node-v6.9.1-linux-x64.tar.xz
⇒ node-v6.9.1-linux-x64 目录,包含所有 node.js 个组件。
$ sudo mv node-v6.9.1-linux-x64 /usr/local/nodejs
安装库先决条件
sudo apt-get install libssl0.9.8 libssl-dev liblua5.1-dev
(找不到 libssl0.9.8 - ubuntu 16.04 使用 libssl1.0.0)
让我们一次做一个:
$sudo apt-get install liblua5.1-dev
(<-- 只需要这样做)
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
请注意,选择 'liblua5.1-0-dev' 而不是 'liblua5.1-dev'
将安装以下附加软件包:
autotools-dev libltdl-dev libtool libtool-bin
推荐套餐:
libtool-doc autoconf automaken gfortran | fortran95-编译器gcj-jdk
将安装以下新软件包:
autotools-dev libltdl-dev liblua5.1-0-dev libtool libtool-bin
0 个已升级,5 个新安装,0 个要删除,165 个未升级。
需要获得 594 kB 的档案。
此操作后,将使用 3,180 kB 的额外磁盘 space。
$sudo apt-get install libssl-dev
(见下文,已安装)
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
libssl-dev 已经是最新版本 (1.0.2g-1ubuntu4.5)。
0 个已升级,0 个新安装,0 个要删除,165 个未升级。
$ sudo apt-get install libssl1.0.0
(见下文,已安装)
阅读包裹清单...完成
构建依赖树
正在读取状态信息...完成
libssl1.0.0 已经是最新版本 (1.0.2g-1ubuntu4.5)。
0 个已升级,0 个新安装,0 个要删除,165 个未升级。
添加符号链接:
$ sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.so /usr/lib/liblua.so
$ sudo ln -s /usr/lib/x86_64-linux-gnu/liblua5.1.a /usr/lib/liblua.a
$ ls /usr/lib/liblua*
lrwxrwxrwx 1 root root 37 Nov 2 13:17 /usr/lib/liblua.a -> /usr/lib/x86_64-linux-gnu/liblua5.1.a lrwxrwxrwx 1 root root 38 Nov 2 13:17 /usr/lib/liblua.so -> /usr/lib/x86_64-linux-gnu/liblua5.1.so
安装 npm
(如果没有npm,则无法安装aerospike node.js客户端。)
$ npm install aerospike
程序'npm'当前未安装。您可以通过键入以下内容来安装它: sudo apt 安装 npm
$ sudo apt install npm
运行申请
($cd your_location/your_application/Node) 修改package.json.
是:
{
"name": "xxx-app",
"version": "0.0.1",
"dependencies": {
"aerospike": "^1.0.36",
"inquirer": "^0.8.0" <--- my app specific
}
}
更改:"aerospike": "^2.0.0"
、
那么,
$npm install inquirer --save-dev
(inquirer 是我的应用程序的命令行 i/o 库。)
$npm install aerospike --save-dev
它应该将 package.json 更新为如下内容:
$ more package.json
{
"name": "xxx-app",
"version": "0.0.1",
"dependencies": {
"aerospike": "^2.0.0",
"inquirer": "^0.8.0"
},
"devDependencies": {
"aerospike": "^2.4.1",
"inquirer": "^0.8.5"
}
}
运行宁节点--(我的)app.js 在相应的子目录中:
$which nodejs
/usr/bin/nodejs
$nodejs app.js