Node.js 使用npm时出错

Node.js 使用npm时出错,node.js,titanium,npm,Node.js,Titanium,Npm,我在mac上尝试使用npm时出现以下错误。我在mac 10.10.1上 $ npm Error: ENAMETOOLONG, mkdir '/Users/LM/npm info it worked if it ends with ok npm verb cli [ '/usr/local/bin/node', npm verb cli '/usr/local/bin/npm', npm verb cli '-g', npm verb cli 'config', npm verb cl

我在mac上尝试使用npm时出现以下错误。我在mac 10.10.1上

$ npm
Error: ENAMETOOLONG, mkdir '/Users/LM/npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   '-g',
npm verb cli   'config',
npm verb cli   'get',
npm verb cli   'prefix' ]
npm info using npm@2.1.6
npm info using node@v0.10.33
npm verb node symlink /usr/local/bin/node
/Users/LM/Desktop/Titanium Studio/TitaniumStudio.app/Contents/MacOS/npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   '-g',
npm verb cli   'config',
npm verb cli   'get',
npm verb cli   'prefix' ]
npm info using npm@2.1.6
npm info using node@v0.10.33
npm verb node symlink /usr/local/bin/node
/Users/LM/Desktop/Titanium Studio/TitaniumStudio.app/Contents/MacOS/npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   '-g',
npm verb cli   'config',
npm verb cli   'get',
npm verb cli   'prefix' ]
npm info using npm@2.1.6
npm info using node@v0.10.33
npm verb node symlink /usr/local/bin/node
/usr/local
npm verb exit [ 0, true ]
npm info ok
npm verb exit [ 0, true ]
npm info ok
npm verb exit [ 0, true ]
npm info ok'

知道这意味着什么以及如何修复吗?

我认为问题是由于权限问题。尝试按以下方式更改权限:

解锁主目录中的权限

sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
如果1不起作用,请获取对节点\u模块目录的写入权限

sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules
如果仍然面临错误,请更新/usr/local的权限


希望有帮助。

在OSX 31的情况下,错误enametolong意味着nodejs或操作系统试图使用的路径名组件超过了操作系统的最大值

首先,您尝试从哪里安装nodejs?这可能是您的问题的原因。我从未使用过Tianium Studio,但你的问题读起来像是这是你正在使用的所有NodeJ

您最好直接从github安装node。下面应该让你开始

安装节点 不要忘记将$HOME/local/node/bin添加到PATH环境变量中。 您可以通过以下方式测试节点安装:

node -v
npm -v
安装NPM 您可以通过以下方式测试您的npm安装

node -v
npm -v

这里有几个建议的解决方案,其中有些人有完全相同的问题,也使用Tianium studio:

手动更新CLI、Node.ACS和Alloy

sudo npm安装-galloy@1.5.1 sudo npm安装-gtitanium@3.4.1 sudo npm安装-g acs

更改目录的权限

sudo chown-R whoami~/.npm

虽然最后一件事似乎不起作用。您可能还想看看这里:

1。发现npm可执行文件存在的位置 首先,找出npm可执行文件在系统中的位置:

$ which -a npm
这将输出两个或多个系统路径

2.找出shell的$PATH 然后,确定命令执行的搜索路径:

$ echo $PATH
这将为您提供一个以冒号分隔的目录列表,您的会话正在搜索npm之类的可执行文件

3.优先考虑不同的npm Appcelerator Titanium已损坏系统的一个或多个方面。您可能需要暂时卸载Tianium

否则,要优先选择另一个Node.js安装,您可以编辑$PATH,或者更简单地创建shell别名。例如:

$ alias npm=/usr/local/bin/npm

在大多数情况下,您可以将其保存在~/.bash_配置文件中,只需复制和粘贴文本,就像在提示下一样,以便将其应用于将来的shell会话。

中没有.npm。运行其他命令,但出现相同问题。如果仍然遇到错误,尝试卸载所有节点和npm实例,并通过或通过安装fresh。您拥有的节点和npm的版本是什么?从日志中可以看出,npm版本是2.1.6,节点版本是os 0.10.33I已尝试通过自制和从nodejs网站下载的软件包安装节点。这两个命令都没有解决问题。您能给我以下两个命令的输出吗?您使用的是哪一个节点和哪一个npmIf-g?您正在安装到系统路径中,而不是whoami的homedir文件夹中。