【问题标题】:No such file or directory when trying to run after npm install -g在 npm install -g 之后尝试运行时没有这样的文件或目录
【发布时间】:2016-02-19 14:35:55
【问题描述】:

我正在使用 Vagrant 运行默认的 linux VM(具有管理员权限以便符号链接工作)

使用npm install -g <package> 安装软件包后,我无法运行创建的符号链接(作为从路径运行的快捷方式)。

文件内容如下:

#!/usr/bin/env node
var arguments = process.argv.slice(2);
var fs = require('fs');
var usage = fs.readFileSync(__dirname + '/usage.txt').toString();

if (arguments.length < 3) {
    console.error(usage);
    return;
}

var summon = require('./Summoner');

summon(arguments[0], arguments[1], arguments[2]);

直接用&lt;filename&gt;运行文件是不行的,抛出: No such file or directory,而用node &lt;filename&gt;运行就可以了。

我已经尝试过npm install -g gulp 并且运行gulp 效果很好。查看gulp的内容,发现#!/usr/bin/env node这一行和这个文件一模一样,那我这里漏了什么?

【问题讨论】:

    标签: linux node.js npm vagrant


    【解决方案1】:

    检查节点可执行文件是否在 /usr/bin/env 中

    【讨论】:

    • 也许你可以看看this
    • 你发的链接有node没有链接到nodejs的问题,但是我的node好像链接正常
    【解决方案2】:

    检查已为您安装的模块创建的符号链接,以及您的用户是否可以执行它。

    ls -l $(which summon)

    【讨论】:

    • lrwxrwxrwx 1 root root 34 Nov 17 18:20 /usr/bin/eportal -&gt; ../lib/node_modules/eportal/cli.js 是我回来的
    【解决方案3】:

    我遇到了这个问题,因为我的 Node 项目的 bin/scriptCR+LF 行尾而不是 Linux LF-only 行尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 2019-10-11
      • 2017-04-03
      • 1970-01-01
      相关资源
      最近更新 更多