安装咖啡脚本后,找到了咖啡命令,但没有执行任何操作

安装咖啡脚本后,找到了咖啡命令,但没有执行任何操作

我刚刚用 NPM 安装了 coffe 脚本(sudo npm install -g coffee-script

当我在终端中输入 coffee 时,什么也没发生。命令找到了,但没有任何反应。

有人知道如何解决这个问题或者可能出了什么问题吗?

答案1

显然 npm coffee script 坏了。我尝试在我的系统中使用全局和本地安装,但都不起作用。幸运的是,你可以使用coffeescriptapt-get 中的包:

sudo apt-get install coffeescript

在我的情况下,安装了 1.4.0 版本。对于功能来说,这是一个合理的价格:

coffee --version
CoffeeScript version 1.4.0

答案2

继续@Mitja 添加的理论,您可以按如下方式运行脚本:

  1. coffescript 文件夹有一个 js 文件,其中#!/usr/bin/env node写入的内容表示将执行/usr/bin文件夹中可用的 node 命令,但如果我们检查使用which node命令,则会显示不同的路径,这意味着我们的 Ubuntu 系统中已经有一个可用的 node 命令。而且 nodejs(不是旧版)也包含 node 命令,因此让我们继续第 2 步并创建一个新命令nodejs

  2. sudo ln -sf Path/to/NodeJs/extracted/folder/nodejs4.4.7/bin/node /usr/bin/nodejs
    nodejs此命令将在文件夹中创建一个名为 command 的 软链接/usr/bin,为了方便起见,我们将其命名为nodejs( 或任何其他名称)。我不想继续apt-get install使用旧的 nodejs,所以改用下载的最新稳定代码。

  3. 现在运行which nodejs命令,您将看到 /usr/bin/nodejs哪些命令在环境路径下自动可用。

  4. 返回到您的 coffeescript js 文件并将命令从 node 更改为 nodejs 即#!/usr/bin/env nodejs

保存并tada..

使用实际的热咖啡运行你的 coffeescript

答案3

根据这个 coffeescript 问题从 2010 年开始,名称冲突导致nodeubuntu 数据包(不要与nodejs数据包混淆)占用了其自身名称node,而Node.js仅获取nodejs命令名称。

输入coffee调用node,预期node是 Node.js 的可执行文件,但它得到的是错误的可执行文件。解决方法是node通过数据包管理器从系统中删除数据包并符号链接nodenodejs

ln -s /usr/bin/nodejs /usr/local/bin/node
ln -s /usr/bin/nodejs /usr/local/sbin/node

相关内容