有没有办法让 NPM 安装 Compass 并且仍然在命令行 运行 它?

Is There A Way to NPM Install Compass and Still Run it at the Command Line?

对于大多数 NPM 包,您可以通过 运行 从 node_modules 包文件夹内的 bin 文件夹调用它们的命令行应用程序:

npm install foo
./node_modules/foo/bin/foo

当然,如果您全局安装软件包,您可以更轻松地完成此操作:

npm install -g foo
foo

但这通常被认为是一种不好的做法。

使用 compass 包,但情况似乎并非如此。当你这样做时:

npm install compass

包的 node_modules 目录甚至没有 bin 文件夹。

所以,我的问题是,是否可以非全局安装 compass,但仍然可以从命令行调用它?

P.S。我知道我也可以通过系统安装指南针,即。 sudo apt-get install compass,但我希望我可以保持流程简单,让 NPM 管理一切。

事实证明答案是否定的,因为 compass NPM 包实际上并不包含指南针。相反,该包是 compass 可执行文件的 JS 前端,必须单独安装。大概这是因为 compass 依赖于 Ruby,他们不想让 Ruby 成为包依赖。

因此,如果您想使用 Compass,它必须是系统级(Linux、apt-get install)设置的一部分。