安装titaniumACS

我们试图通过命令行安装Titanium ACS

sudo npm -g install acs 

但是它保持失败,我们得到下面的错误

 npm http GET https://registry.npmjs.org/bindings > bson@0.0.4 install /usr/local/lib/node_modules/acs/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson > node install.js sh: node: command not found npm ERR! Error: ENOENT, lstat '/usr/local/lib/node_modules/acs/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf' npm ERR! If you need help, you may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <npm-@googlegroups.com> npm ERR! System Darwin 12.3.0 npm ERR! command "node" "/usr/local/bin/npm" "-g" "install" "acs" "--color" "false" npm ERR! cwd /Users/titanium npm ERR! node -v v0.8.22 npm ERR! npm -v 1.2.14 npm ERR! path /usr/local/lib/node_modules/acs/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf npm ERR! fstream_path /usr/local/lib/node_modules/acs/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/WebSocketMain.swf npm ERR! fstream_type File npm ERR! fstream_class FileWriter npm ERR! code ENOENT npm ERR! errno 34 npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js:284:26 npm ERR! fstream_stack Object.oncomplete (fs.js:297:15) npm ERR! bson@0.0.4 install: `node install.js` npm ERR! `sh "-c" "node install.js"` failed with 127 npm ERR! npm ERR! Failed at the bson@0.0.4 install script. npm ERR! This is most likely a problem with the bson package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node install.js npm ERR! You can get their info via: npm ERR! npm owner ls bson npm ERR! There is likely additional logging output above. npm ERR! System Darwin 12.3.0 npm ERR! command "node" "/usr/local/bin/npm" "-g" "install" "acs" "--color" "false" npm ERR! cwd /Users/titanium npm ERR! node -v v0.8.22 npm ERR! npm -v 1.2.14 npm ERR! code ELIFECYCLE npm http 304 https://registry.npmjs.org/qs/0.5.1 npm http 304 https://registry.npmjs.org/pause/0.0.1 npm http 304 https://registry.npmjs.org/send/0.0.4 npm http 304 https://registry.npmjs.org/bytes/0.1.0 npm http 304 https://registry.npmjs.org/bindings > hiredis@0.1.15 install /usr/local/lib/node_modules/acs/node_modules/socket.io/node_modules/redis/node_modules/hiredis > node-gyp rebuild /usr/local/lib/node_modules/npm/bin/node-gyp-bin/node-gyp: line 2: node: command not found npm WARN optional dep failed, continuing hiredis@0.1.15 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /Users/titanium/npm-debug.log npm ERR! not ok code 0 iMac:~ titanium$ node-gyp -bash: node-gyp: command not found iMac:~ titanium$ hiredis -bash: hiredis: command not found iMac:~ titanium$ apt-get install homebrew -bash: apt-get: command not found iMac:~ titanium$ node > echo 1 ... exit ... no ... > (^C again to quit) > iMac:~ titanium$ node install.js module.js:340 throw err; ^ Error: Cannot find module '/Users/titanium/install.js' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:245:9) 

但是,我们可以在terminal中input节点,并且运行良好,节点function的加载完美。

如果有人对这个问题有任何的见解,这将是非常有帮助的。

谢谢

你有没有尝试清除npmcaching?

 npm cache clean 

sudo用户看起来像节点不在PATH中。

要么像这里给出的那样为sudo设置节点,要么使用sudo -E选项运行它。

不要以root权限使用npm ,这是不安全的。

我build议你把所有权给/usr/local给你的用户,这样做你可以做

 sudo chown -R $USER /usr/local 

正如npm的作者所说: http : //howtonode.org/introduction-to-npm

我试图没有sudo安装它,工作正常。

在安装CLI之前,您应该确定节点包pipe理器(npm)要安装包的位置。 默认情况下,npm会在OS X和Linux上安装到/ usr / local,这要求您以root身份运行npm。 这不被推荐。 您可以通过执行以下任一操作来避免必须运行npm:

 Make the /usr/local directory writable by all: sudo chmod 777 /usr/local Set npm to install to your home directory, or another directory of your choosing by setting the npm prefix. For example, you can add the following to your .bash_profile or other initialization file: export NPM_CONFIG_PREFIX=$HOME Alternately, you can create a .npmrc file in your home directory with the following contents: prefix=/path/to/home Where /path/to/home is the path to your home directory. Setting the npm prefix to your home directory causes the npm packages to be installed to $HOME/lib/node_modules and launch scripts are installed in $HOME/bin. $HOME/bin must be in your PATH. 

如果您在安装npm包后更改前缀,则必须重新安装包。 如果在以root用户身份安装软件包之后更改/ usr / local上的权限,则可能需要更改npm高速caching文件夹的所有权,如“疑难解答npm问题”中所述。 疑难解答npm问题

如果您在安装任何npm软件包时遇到问题,请尝试以下操作:

 Check permissions. If you originally ran npm using sudo, you may need to change the ownership of the npm cache folder. sudo chown -R <username> ~/.npmrc On Windows, the npm cache defaults to npm-cache in the user's home directory. Clear the npm package cache: npm cache clean Remove your .npmrc file.