有没有办法让 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
)设置的一部分。
对于大多数 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
)设置的一部分。