CLI引用错误的npm版本

时间:2014-07-10 06:54:21

标签: windows node.js npm command-line-interface

  1. 使用.msi安装node.js v0.10.29(包括npm v1.4.14)
  2. npm install -g npm(将npm更新为v1.4.20)
  3. npm -v:v1.4.14(位于c:\Program Files\nodejs\node_modules\npm
  4. npm v1.4.20位于c:\Users\User\AppData\Roaming\npm\node_modules\npm
  5. echo %path

      

    C:\程序文件(x86)\ NVIDIA公司\的PhysX \共同; C:\ Windows \ System32下; C:\视窗; C:\ Windows \ System32下\ WBEM; C:\ Windows \ System32下\ WindowsPowerShell \ V1 0.0 \;的 C:\ Program Files文件\的NodeJS ; C:\ Ruby200-64 \ BIN; C:\ python27

    • 删除粗体部分会让我sh.exe": npm: command not found
    • 添加%AppData%\npm\node_modules无法修复
  6. 6.使用NODE_PATH向系统范围的环境变量添加%AppData\npm\node_modules无效

    问题本质上是它拒绝识别%AppData%\npm\node_modules中的全局npm安装,即使我从路径中删除C:\Program Files\nodejs并将其替换为%AppData%\npm\node_modules

    我做错了什么?我该如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

joyent/node上打开此问题后,this reply建议使用Node.js命令提示符作为临时解决方法。

<强>制备

  • 从任何环境变量中删除C:\Program Files\nodejs
  • 使用此值添加名为NODE_PATH的环境变量:%AppData%\npm\node_modules
  • 检查您的.npmrc文件(Windows:C:\Users\[User]\.npmrc

    如果prefix的值为c:\Program Files\nodejs,请将prefix = c:\Users\[User]\AppData\Roaming\npm添加到用户配置区域(位于文件顶部)

在此之后:

  1. 开始菜单&gt;所有程序&gt; Node.js&gt; Node.js命令提示符
  2. npm -v:1.4.14
  3. npm install -g npm
  4. npm -v:1.4.21

答案 1 :(得分:2)

首先,如果你在"C:\nodejs\"安装它而不是在ProgramFiles或任何其他目录中安装它,可以实现Windows上安全无错的node.js,因为有些读/写权限。

对于这个问题......

转到cmd并运行

npm install -g npm

并从

复制“npm”文件夹

C:\用户\\应用程序数据\漫游\ NPM \ node_modules \ NPM \ node_modules

//first npm is the installed version and then npm modules are its
// modules installed one of them is your new npm that is the result
// of above command. we are copying it to its insaller. the father :P

将此复制的“npm”文件夹粘贴到此路径中,并在询问

时覆盖
 C:\Program Files\nodejs\node_modules

检查你的verison它是最新的。通过

npm -v //in cmd

答案 2 :(得分:2)

如果使用的是Windows 7或更高版本,请尝试:

move "C:\Program Files\nodejs\node_modules\npm" "C:\Program Files\nodejs\node_modules\npm.bak"
mklink /D "C:\Program Files\nodejs\node_modules\npm" "%AppData%\npm\node_modules\npm"

答案 3 :(得分:1)

检查路径环境变量。我的猜测是它列出了程序文件和appdata目录,并且首先列出了程序文件位置。在路径上找到的第一个是将要运行的那个。