【发布时间】:2015-01-26 04:54:46
【问题描述】:
我一直在使用来自 Windows 的 PyCharm 开发一个节点 cli 应用程序,它仅适用于 Windows,但在从 Linux 运行时总是返回 : No such file or directory。我已经能够使用一个相当基本的示例作为测试来重现该问题。尝试安装每个版本,并注意从 Windows 发布的版本如何无法在 Linux 或 OSX 上运行。
从 Windows 发布:npm -g install cli-test@1.0.0 && cli-test
从 Linux 发布:npm -g install cli-test@2.0.0 && cli-test
package.json:
{
"name": "cli-test",
"version": "0.0.1",
"bin": {
"cli-test": "./cli.js"
}
}
cli.js
#!/usr/bin/env node
console.log('hello world!');
如果我编写此代码,然后使用 Linux 上项目目录中的 sudo npm -g install 安装它,然后运行 cli-test 它会引发上述错误。如果我从 Windows 执行相同操作,它会正确记录控制台。
我可以通过以下步骤让它在 Linux 上运行:
- 在 Linux 上打开项目目录
- 将
cli.js重命名为cli.old.js - 创建一个名为
cli.js的新文件 - 将旧文件的内容复制到新文件中
当我从 Windows 发布到 npm 而不从 Linux 手动重新创建文件时,为什么它不能在 Linux 上运行?
【问题讨论】:
标签: node.js command-line-interface