node.js - “npm”不被识别为内部或外部命令、可操作程序或批处理文件,但它在我的环境路径中

标签 node.js powershell

我正在尝试在 Windows 上启动我在 Linux 上编写的 node.js 模块。

我已经将环境路径设置为nodejs,我已经安装了我的依赖项,当我单独使用npm时它可以工作。但是当我 npm 启动我的模块时,它告诉我:

my powershell prompt

这是我的 package.json 的脚本:

enter image description here

有人可以向我解释一下出了什么问题吗?

提前致谢。

最佳答案

您的问题与 cmd PowerShell 和其他 Windows 终端如何处理单引号字符串有关,该字符串反过来会被错误地解析为 process.argv 在 Node.js 中。

这在错误消息中表示:

'npm is not recognized (...)

在预期命令 npm

前面显示一个前导 '

作为解决方法,请尝试在 package.json 中的启动脚本中使用转义双引号而不是单引号:

"start": "nodemon lib/index.js --exec \"npm run lint && babel-node --presets es2015,stage-2\" "

关于node.js - “npm”不被识别为内部或外部命令、可操作程序或批处理文件,但它在我的环境路径中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160149/

相关文章:

node.js - 使用 Node.js 对 s3 存储桶进行 api 调用时访问被拒绝

node.js - 无法更新 Sails.js 模型实例中的属性

azure - 在 Azure Devops 中使用 powershell 自动化 Connect-AzureAD

powershell - 删除目录,不管 260 个字符的限制

azure - 有没有办法以完整模式部署 "nested"或 "tiered"资源(即服务总线队列)或达到等效结果?

visual-studio-2010 - 从 powershell 获取正在运行的 Visual Studio 实例 (DTE) 的句柄

powershell - 如何从模块显式导入特定函数?

node.js - 使用 mongoose.js 跟踪对字段的更改

javascript - 为什么 NodeJS 可以使用 Chain API 稍后请求设置 post 表单?

json - 如何使用 Jenkins 自动化 package.json 中的版本号