![安装咖啡脚本后,找到了咖啡命令,但没有执行任何操作](https://linux22.com/image/1100271/%E5%AE%89%E8%A3%85%E5%92%96%E5%95%A1%E8%84%9A%E6%9C%AC%E5%90%8E%EF%BC%8C%E6%89%BE%E5%88%B0%E4%BA%86%E5%92%96%E5%95%A1%E5%91%BD%E4%BB%A4%EF%BC%8C%E4%BD%86%E6%B2%A1%E6%9C%89%E6%89%A7%E8%A1%8C%E4%BB%BB%E4%BD%95%E6%93%8D%E4%BD%9C.png)
我刚刚用 NPM 安装了 coffe 脚本(sudo npm install -g coffee-script
)
当我在终端中输入 coffee 时,什么也没发生。命令找到了,但没有任何反应。
有人知道如何解决这个问题或者可能出了什么问题吗?
答案1
显然 npm coffee script 坏了。我尝试在我的系统中使用全局和本地安装,但都不起作用。幸运的是,你可以使用coffeescript
apt-get 中的包:
sudo apt-get install coffeescript
在我的情况下,安装了 1.4.0 版本。对于功能来说,这是一个合理的价格:
coffee --version
CoffeeScript version 1.4.0
答案2
继续@Mitja 添加的理论,您可以按如下方式运行脚本:
coffescript 文件夹有一个 js 文件,其中
#!/usr/bin/env node
写入的内容表示将执行/usr/bin
文件夹中可用的 node 命令,但如果我们检查使用which node
命令,则会显示不同的路径,这意味着我们的 Ubuntu 系统中已经有一个可用的 node 命令。而且 nodejs(不是旧版)也包含 node 命令,因此让我们继续第 2 步并创建一个新命令nodejs
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,所以改用下载的最新稳定代码。现在运行
which nodejs
命令,您将看到/usr/bin/nodejs
哪些命令在环境路径下自动可用。返回到您的 coffeescript js 文件并将命令从 node 更改为 nodejs 即
#!/usr/bin/env nodejs
保存并tada..
使用实际的热咖啡运行你的 coffeescript
答案3
根据这个 coffeescript 问题从 2010 年开始,名称冲突导致node
ubuntu 数据包(不要与nodejs
数据包混淆)占用了其自身名称node
,而Node.js仅获取nodejs
命令名称。
输入coffee
调用node
,预期node
是 Node.js 的可执行文件,但它得到的是错误的可执行文件。解决方法是node
通过数据包管理器从系统中删除数据包并符号链接node
到nodejs
:
ln -s /usr/bin/nodejs /usr/local/bin/node
ln -s /usr/bin/nodejs /usr/local/sbin/node