【问题标题】:How to resolve 'npm should be run outside of the node repl, in your normal shell'如何解决'npm应该在节点repl之外运行,在你的普通shell中'
【发布时间】:2014-08-20 00:55:13
【问题描述】:

我是 node.js 的新手。我从official site 下载并安装了 node.js 安装程序。我已在 PATH 环境变量中添加了此安装程序文件夹,并且能够运行程序。但是当我尝试在节点控制台中使用 npm 安装一些包时,它会显示错误npm should be run outside of the node repl, in your normal shell。我也在一个单独的控制台上尝试过。但它显示命令未找到,尽管我在环境变量中添加了节点。

【问题讨论】:

  • 当您运行安装程序时,您是否确保选择/检查/安装了所有“添加到路径”选项?如果是这样,如果您在安装之前打开了命令提示符(关闭并重新打开),则可能必须重新启动它,以便更新 PATH 环境变量。
  • 没有像普通windows安装程序那样的安装程序。这是一个exe文件,当我双击它时,它只是打开节点控制台。
  • 基本上你需要从 DOS 窗口运行npm。确保 npm 在 PATH 中(或者只是 cd 到具有 npm.exe 的目录存在于 Program Files

标签: node.js npm


【解决方案1】:

对于 Windows 用户,从命令提示符 (cmd.exe) 运行 npm 命令,而不是 Node.Js (node.exe)。 所以您的“普通 shell” 是 cmd.exe(我同意这条消息可能会让 Windows、Node 新手感到困惑。)

顺便说一句,Node.js 命令提示符实际上只是cmd.exe的一个简单快捷方式。

下面是从 cmd.exe 安装 grunt 的示例截图:

【讨论】:

  • 我只想补充一点,运行 Windows 命令行的最短方法是按开始按钮,然后在搜索框上写 cmd 并按 Enter
  • 另外不要忘记在管理员模式下运行它,否则在安装过程中会出现权限错误。
【解决方案2】:

不要使用 node.js 图标运行应用程序。

转到所有程序->Node.js->Node.js 命令提示符。

以下是示例屏幕截图。

【讨论】:

    【解决方案3】:

    如果您像我一样在没有管理权限的受限环境中运行,这意味着您启动和运行节点的唯一方法是在不使用安装程序的情况下获取可执行文件 (node.exe)。您也无法更改路径变量,这使其更具挑战性。

    这就是我所做的(对于 Windows

    1. 把node.exe放到自己的文件夹里(下载了node.exestand-alone
    2. 从 github 获取 NPM 发布 zip:https://github.com/npm/npm/releases
    3. 在node.exe文件夹中创建一个名为:node_modules的文件夹
    4. 将 NPM zip 解压到 node_modules 文件夹中
    5. 确保最顶层的文件夹命名为 npm(删除 npm 文件夹名称上的任何版本控制,即:npm-2.12.1 --> npm)
    6. 将 npm.cmd 从 npm/bin 文件夹复制到带有 node.exe 的最顶层文件夹中
    7. 打开命令提示符到 node.exe 目录(shift 右键单击​​“在此处打开命令窗口”)
    8. 现在您可以通过以下方式运行 npm 安装程序: npm install -g express

    现在通过 npm 运行安装程序将自动安装需要定位的软件包(node_modules 和根目录)

    不要忘记,如果您没有适当的权限,您将无法设置路径变量。所以你最好的办法是在node.exe目录下打开命令提示符(shift右键“Open command window here”)

    【讨论】:

    • 因为 git repo 已经过时了,所以我从新的 git repo:github.com/npm/cli 下载了它,解压并重命名为 npm。然后从第一步中提取“node-v12.6.0-win-x64.7z”并将内容复制到新的npm目录并运行cmd命令。我先试了powershell还是不行,正常cmd就可以了。
    【解决方案4】:

    最好使用来自nodejs.org 的实际 (msi) 安装程序,而不是仅下载节点可执行文件。安装程序包括 npm,使您更容易管理节点安装。有一个适用于 32 位和 64 位 Windows 的安装程序。

    还有一些其他的花絮:

    • 全局安装模块并不符合您的预期。您应该全局安装的唯一模块(npm 中的 -g 标志)是安装命令的模块。因此,要安装 Express,您只需执行 npm install express 即可将 Express 安装到您当前的工作目录。如果您正在寻找 Express project generator (command),则需要为 Express 4 执行 npm install -g express-generator

    • 您可以在命令提示符的任何位置使用 node 来执行脚本。例如,如果您已经编写了一个单独的脚本:node foo.js。或者,您可以通过选择 node.js(开始菜单)快捷方式或在命令提示符中键入 node 来打开 REPL(正如您已经发现的那样)。

    【讨论】:

    • 感谢您的信息,但您能告诉我如何在当前设置中使用 npm 命令吗? npm 有单独的安装程序吗?
    • npm 没有单独的安装程序(至少对于 Windows)。它包含在官方的 msi 节点安装程序中。
    【解决方案5】:

    正如 mscdex 所说,NPM 带有 nodejs msi 安装文件。我碰巧只是安装了节点 js 安装程序(独立)。要单独添加 NPM,我按照以下步骤操作

    1. here下载NPM最新的zip文件。
    2. 解压到与node js安装器相同的文件中。
    3. 如果您已将包含节点 js 安装程序的目录添加到 PATH 环境变量,那么现在即使 npm 也应该是一个可识别的命令。

    【讨论】:

    • 我遇到了与您相同的情况,即下载可移植的 node.exe 文件,而不是使用 .msi 包。感谢您的提示!
    【解决方案6】:

    您只需打开命令提示符, 然后输入c:/>('cd../../') 然后npm install -g cordova

    【讨论】:

      【解决方案7】:

      这很简单。按键盘上的 Windows 徽标。然后,在搜索栏中输入 node.js 命令提示符 并运行它。

      【讨论】:

        【解决方案8】:

        您必须获取程序的目录正确路径(程序文件中的node.js)。

        比如

        并使用“npm install -g phonegap”

        【讨论】:

          【解决方案9】:

          只需打开 Node.js commmand promt as run as administrator

          【讨论】:

            猜你喜欢
            • 2014-12-21
            • 2015-08-01
            • 2016-03-18
            • 2019-03-01
            • 2016-02-21
            • 1970-01-01
            • 2021-11-28
            • 1970-01-01
            • 2016-10-28
            相关资源
            最近更新 更多