Gre*_*nov 55 macos installation node.js npm
我试图用Yosemite在Mac上安装grunt.节点已安装在最新版本中.如果我在终端输入"node -v",我会得到第v0.12.5行.非常好.但是当我想用npm安装东西时,我只得到一个错误......
我试过"sudo npm install -g grunt-cli","sudo npm install npm -g"以及"npm -v"我总是得到这个错误......
Error: Cannot find module 'are-we-there-yet'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/local/Cellar/node/0.10.22/lib/node_modules/npm/node_modules/npmlog/log.js:2:16)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
Run Code Online (Sandbox Code Playgroud)
有人知道问题是什么或更好的解决方案?
eus*_*h77 90
你已经打破npm了删除它的一些依赖关系.
are-we-there-yet是一个依赖自己npmlog的依赖npm,你以某种方式删除它.对于此类情况,通常的简单解决方案是重新安装软件包,但如果npm无法运行则无效.幸运的是,npmtarball预先绑定了依赖项,因此从头开始安装npm就像解压缩tarball一样简单.
1)转到全局node_modules目录(npm root -g如果可以运行它将打印什么):
$ cd /usr/local/lib/node_modules
Run Code Online (Sandbox Code Playgroud)
2)删除损坏的npm目录或将其移动到其他位置(请注意,您可能需要提升此权限以及以下步骤):
$ mv npm /tmp
Run Code Online (Sandbox Code Playgroud)
3)npm从注册表中下载并解压缩(例如,您要安装的替代版本3.10.8):
$ curl -L registry.npmjs.com/npm/-/npm-{VERSION}.tgz | tar xz --transform="s:^package:npm:"
Run Code Online (Sandbox Code Playgroud)
您可以使用此安装脚本自动执行其中一些操作:
$ curl -L https://www.npmjs.com/install.sh | sh
Run Code Online (Sandbox Code Playgroud)
此时npm应该再次工作.
Sam*_*yle 11
转到全局node_modules目录(npm root -g,如果您不知道)
$ cd /usr/local/lib/node_modules
curl -L https://www.npmjs.com/install.sh | sh
Run Code Online (Sandbox Code Playgroud)
小智 9
即使我有同样的问题,解决以下步骤的最简单方法对我有用。
卸载 Node.js。
去 C:/Users/<user_name>/AppData/Roaming.
删除npm目录。
重新安装Nodejs(最新版v6.11.3,包括npm 3.10.10)。
完成 现在尝试检查 ( npm -v) 是否会正常工作。
我一直在疯狂地尝试在我的centos 7机器上使用最新版本的节点和npm.
不幸的是,我已经被这个错误困扰了近一个星期了.我终于找到了一个有效的解决方案.
如果您的npm目前已损坏,最简单的方法是再次安装工作版本.
我从代码安装.假设安装了git,以下命令将实现该目标
cd ~
git clone https://github.com/nodejs/node.git nodejs_code
cd nodejs_code
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)
在您安装了npm和node的新副本之后,顺便说一句,这不是稳定版本(而是从源头开始,它的前沿).
编写本节点时安装的节点版本为5.0.0-pre,这对我来说太新了,而npm是版本2.14.4,这对我来说太旧了.
要在节点上获得最新版本,我将使用npm安装'n'包.使用n,我将安装最新版本的节点.
npm install -g n
n stable
Run Code Online (Sandbox Code Playgroud)
对于root用户(我用来安装全局包),我需要在我的~/.bashrc文件中添加以下行,这将允许root用户访问/ usr/local/bin命令中的命令.(您可能不需要此步骤)
export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
此时我的节点版本是4.0.0,这是节点的最新稳定版本.
现在更新npm,这是有史以来最烦人的事情.
直接更新到最新版本总是导致"我们还在那里",我只能推测为"不,并且退出询问或我将绕这个节点"
相反,我发现首先通过3.3.3版安装可以解决这个问题.
npm install -g npm@3.3.3
Run Code Online (Sandbox Code Playgroud)
现在版本3.3.3安装并且没有"我们还没有"错误.
谢天谢地.保持你的手臂内侧和你的安全带紧固的孩子,因为我们几乎在那里.....
npm install -g npm
Run Code Online (Sandbox Code Playgroud)
使用最后一个命令,我能够使用最新版本的npm,以及最新的稳定版节点.在撰写本文时,这是3.3.5
从现在开始,我的命令如下.
n stable
npm install -g npm
Run Code Online (Sandbox Code Playgroud)
每次我从这里开始运行这些,我都会获得不受干扰的npm旅行,而不会让孩子们在后面抱怨.
由于我正在审核一些服务器,默认情况下没有一个服务器,我发现自己不得不一遍又一遍地执行这项任务.
因此,我自己将这些指令变成了一个脚本.
请享用:
importnode.sh
#!/bin/bash
cd ~
git clone https://github.com/nodejs/node.git nodejs_code
cd nodejs_code
git reset --hard
git pull origin master
./configure
make
make install
if [[ `cat ~/.bashrc |grep -E "PATH.*/usr/local/bin:.*"` ]];
then
echo "Already Done";
else
echo "export PATH=/usr/local/bin:\$PATH" >> ~/.bashrc;
export PATH=/usr/local/bin:$PATH;
fi;
npm install -g n
n stable
npm install -g npm@3.3.3
npm install -g npm
Run Code Online (Sandbox Code Playgroud)
将此文件放入nodeimport.sh后,唯一要做的就是使其可执行并执行它.
$ chmod +x importnode.sh
$ ./importnode.sh
Run Code Online (Sandbox Code Playgroud)
等一会儿,一切都安装好了.
小智 5
eush77说的是什么,但如果你在Windows上:
从https://nodejs.org/download/release/npm/下载最新的软件包
解压缩,并替换nodejs node-modules目录中的"npm"目录(默认情况下为C:\ Program Files \nodejs \node_modules)
| 归档时间: |
|
| 查看次数: |
41470 次 |
| 最近记录: |