安装Titanium ACS

时间:2013-07-01 13:41:03

标签: node.js titanium

我们正尝试使用

通过命令行安装Titaniums 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)

但是我们可以在终端中键入node并运行得很好,并且节点功能的加载效果非常好。

如果有人对此问题有任何见解,那将非常有帮助。

谢谢

4 个答案:

答案 0 :(得分:1)

您是否尝试清除npm缓存?

npm cache clean

答案 1 :(得分:0)

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

为sudo设置节点,如给定here,或者使用sudo -E选项运行它。

答案 2 :(得分:0)

不要将npm与root权限一起使用,这是不安全的。

我建议您将/usr/local的所有权授予您的用户,为此您可以这样做

sudo chown -R $USER /usr/local

npm的作者http://howtonode.org/introduction-to-npm

提出建议

我尝试在没有sudo的情况下安装它并且工作正常。

答案 3 :(得分:0)

在安装CLI之前,您应该决定Node Package Manager(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 cache文件夹的所有权,如故障排除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.