我们正尝试使用
通过命令行安装Titaniums ACSsudo 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并运行得很好,并且节点功能的加载效果非常好。
如果有人对此问题有任何见解,那将非常有帮助。
谢谢
答案 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.