我刚刚用 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