spmjs / spm2

源码已合并到
https://github.com/spmjs/spm/tree/2.x
Other
126 stars 26 forks source link

安装失败, 请问什么原因 #89

Closed alvin2ye closed 11 years ago

alvin2ye commented 11 years ago

npm install spm -g --verbose

npm info it worked if it ends with ok
npm verb cli [ 'node',
npm verb cli   '/home/agideo/local/bin/npm',
npm verb cli   'install',
npm verb cli   'spm',
npm verb cli   '-g',
npm verb cli   '--verbose' ]
npm info using npm@1.3.10
npm info using node@v0.10.18
npm verb cache add [ 'spm', null ]
npm verb cache add name=undefined spec="spm" args=["spm",null]
npm verb parsed url { protocol: null,
npm verb parsed url   slashes: null,
npm verb parsed url   auth: null,
npm verb parsed url   host: null,
npm verb parsed url   port: null,
npm verb parsed url   hostname: null,
npm verb parsed url   hash: null,
npm verb parsed url   search: null,
npm verb parsed url   query: null,
npm verb parsed url   pathname: 'spm',
npm verb parsed url   path: 'spm',
npm verb parsed url   href: 'spm' }
npm verb lock spm /home/agideo/.npm/e03f10fa-spm.lock
npm verb addNamed [ 'spm', '' ]
npm verb addNamed [ null, '*' ]
npm verb lock spm@ /home/agideo/.npm/2f211a58-spm.lock
npm verb url raw spm
npm verb url resolving [ 'http://registry.npmjs.org/', './spm' ]
npm verb url resolved http://registry.npmjs.org/spm
npm info trying registry request attempt 1 at 07:25:06
npm verb etag "CQJE203WHUF3FE0RED89XX501"
npm http GET http://registry.npmjs.org/spm
npm http 304 http://registry.npmjs.org/spm
npm verb etag spm from cache
npm verb addNamed [ 'spm', '2.1.12' ]
npm verb addNamed [ '2.1.12', '2.1.12' ]
npm verb lock spm@2.1.12 /home/agideo/.npm/f4a0b0ba-spm-2-1-12.lock
npm info install spm@2.1.12 into /home/agideo/local/lib
npm info installOne spm@2.1.12
npm info /home/agideo/local/lib/node_modules/spm unbuild
npm verb tar unpack /home/agideo/.npm/spm/2.1.12/package.tgz
npm verb lock tar:///home/agideo/local/lib/node_modules/spm /home/agideo/.npm/396e17d4-gideo-local-lib-node-modules-spm.lock
npm verb lock tar:///home/agideo/.npm/spm/2.1.12/package.tgz /home/agideo/.npm/c14101a7-gideo-npm-spm-2-1-12-package-tgz.lock
npm info preinstall spm@2.1.12
npm verb unsafe-perm in lifecycle true

> spm@2.1.12 preinstall /home/agideo/local/lib/node_modules/spm
> node scripts/preinstall.js

NO SUDO PLEASE!!!
Maybe you need run:

$ sudo chown -R $USER /usr/local

More information on http://howtonode.org/introduction-to-npm
npm info spm@2.1.12 Failed to exec preinstall script
npm info /home/agideo/local/lib/node_modules/spm unbuild
npm info preuninstall spm@2.1.12
npm info uninstall spm@2.1.12
npm verb true,/home/agideo/local/lib/node_modules,/home/agideo/local/lib/node_modules unbuild spm@2.1.12
npm verb /home/agideo/local/bin,[object Object] binRoot
npm info postuninstall spm@2.1.12
npm ERR! weird error 1
npm verb exit [ 1, true ]
npm ERR! not ok code 0

我重新安装过nodejs, 用一下方式

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl https://npmjs.org/install.sh | sh

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04 LTS
Release:    12.04
Codename:   precise

已经删除apt-get 的 nodejs

alvin2ye commented 11 years ago
sudo chown -R $USER /usr/local

也执行过

popomore commented 11 years ago

启动 node,然后打印 process.env.SUDO_USER 看看,怀疑是系统权限问题。

https://github.com/spmjs/spm2/blob/master/scripts/preinstall.js

alvin2ye commented 11 years ago

console.info(process.env.SUDO_USER) undefined


process.env { SHELL: '/bin/bash', TERM: 'xterm', SSH_CLIENT: '10.0.2.2 63005 22', SSH_TTY: '/dev/pts/0', LC_ALL: 'C', USER: 'agideo', LSCOLORS: 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arj=01;31:.taz=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lz=01;31:.xz=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.jpg=01;35:.jpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.axv=01;35:.anx=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.axa=00;36:.oga=00;36:.spx=00;36:_.xspf=00;36:', PATH: '/home/agideo/local/bin:/home/agideo/local/bin:/home/agideo/local/bin:/home/agideo/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games', MAIL: '/var/mail/agideo', PWD: '/home/agideo', LANG: 'en_US', HOME: '/home/agideo', SHLVL: '2', LOGNAME: 'agideo', LC_CTYPE: 'zh_CN.UTF-8', SSHCONNECTION: '10.0.2.2 63005 10.0.2.15 22', LESSOPEN: '| /usr/bin/lesspipe %s', LESSCLOSE: '/usr/bin/lesspipe %s %s', : '/home/agideo/local/bin/node', OLDPWD: '/home/vagrant' }

popomore commented 11 years ago

理解不能了,那为什么 npm 安装的时候 process.env.SUDO_USER 存在

afc163 commented 11 years ago
npm install spm -g -f 

可能是本地有缓存。

alvin2ye commented 11 years ago

@afc163 确实是,搞定了,我的青春啊,谢谢 @popomore 谢谢