我一直在尝试按照Mike Bostock的Let's Make a Map教程http://bost.ocks.org/mike/map/来安装topojson,我相信我已经设法获得了最新版本的Node.js和npm。 $ ogr2ogr也适用。我对编程和Ubuntu很陌生,并且真诚地感谢npm install topojson -g为什么会出现以下错误。当我用sudo尝试相同的命令时会产生如下错误:npm ERR!注册表错误解析json和gyp ERR! stack错误:无法安装节点的“pre”版本,而是使用--nodedir标志
谢谢!
npm ERR! Error: EACCES, open '/home/natecraft/.npm/7edf76d6-topojson.lock'
npm ERR! { [Error: EACCES, open '/home/natecraft/.npm/7edf76d6-topojson.lock']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/home/natecraft/.npm/7edf76d6-topojson.lock' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "/home/natecraft/.nvm/v0.10.15/bin/node" "/home/natecraft/.nvm/v0.10.15/bin/npm" "install" "topojson" "-g"
npm ERR! cwd /home/natecraft/Downloads/node-latest-install
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.5
npm ERR! path /home/natecraft/.npm/7edf76d6-topojson.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/home/natecraft/.npm/7edf76d6-topojson.lock'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/natecraft/Downloads/node-latest-install/npm-debug.log
npm ERR! not ok code 0
答案 0 :(得分:4)
首先,请检查您的node.js版本 - 使用稳定版本,而不是devel版本。其次,以超级用户身份调用npm命令。
$ sudo npm install -g topojson
到目前为止,当我将node.js切换为稳定版本时,TopoJSON安装运行良好。谢谢你的关注。
答案 1 :(得分:2)
我在安装topojson(Debian 3.2.0-4-amd64)时遇到了这个错误。我开始工作的步骤(也讨论了here)。
安装节点v 0.11.10
git clone https://github.com/joyent/node.git
cd node
git checkout v0.11.10
./configure && make
sudo make install
删除debian gyp并通过npm安装:
sudo apt-get remove gyp
npm install -g gyp
明确安装contextify,虽然那是已安装的版本。
npm install contextify@0.1.7
然后,安装topojson应该工作
sudo npm install -g topojson