基本NPM用法 - 安装包错误

时间:2016-12-19 19:07:54

标签: node.js package install

我想安装一个名为tone的软件包,以便我可以使用此代码

//create a synth and connect it to the master output (your speakers)
var synth = new Tone.Synth().toMaster();

//play a middle 'C' for the duration of an 8th note
synth.triggerAttackRelease("C4", "8n");

这是我到目前为止所尝试的内容(以及完全重新安装Node):

C:\Users\HP\Desktop\tone-js>npm install tone
C:\Users\HP
`-- tone@0.8.0

npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\HP\package.json'
npm WARN HP No description
npm WARN HP No repository field.
npm WARN HP No README data
npm WARN HP No license field.

所以我猜我需要创建一个package.json文件。我试过npm init,它要求输入一个我不明白的地方。

我只是希望能够使用上面的代码。我可能需要在顶部添加一个require语句 - 它应该是什么?

我还尝试使用tone全局安装npm install tone -g,但不知道如何要求该模块。我也猜测本地是更好的做法。

另外,当我运行npm install tone时,为什么当我在另一个文件夹中时它在'C:\Users\HP\package.json'寻找package.json?

一切都很混乱!任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

当您运行npm init时,它要求的条目文件是您的应用程序的主文件。例如,如果您的应用程序的起点位于app.js,则您的输入文件将为app.js。默认情况下,如果您不提供,则会将其设置为index.js

使用npm init的另一个诀窍是,如果您不想在此时将package.json设置为特定于您的项目,请使用-f标记这会强制使用package.json的所有默认值。

如果没有在项目中初始化npm,则无法保存任何npm包,因为没有package.json这是保存已安装包所必需的。

答案 1 :(得分:0)

使用Node.js和第三方模块时,您应该了解一些事项。

  1. package.json文件描述了您的项目。它列出了您使用--save标记安装的所有模块(所以npm install --save tone
    您还应该知道package.json文件用于告诉其他项目作者是谁,可选择它在开发期间具有哪些依赖关系(devDepenencies,主要用于测试模块等),NPM使用它当您发布自己的NPM包时)
  2. 要使用模块,您需要它并将其导出的对象分配给变量(const Tone = require('tone');
  3. 入口点与您拨打node的文件相同,因此如果您通常执行node app.js,则您的入口点为app.js。 NPM在您发布模块时知道它公开的文件是什么。 (提示:您现在还可以运行npm start而不是node app.js
  4. 为了进行快速测试,只需执行npm install note,您就可以require('tone');而无需package.json