在节点模块名称中使用@符号[重复]

我正在看一位同事写的一些代码,她@在require语句中使用该符号。这是这些文件之一的第一行:

var restServer = require('@company/config')

当我尝试运行此代码时,出现错误:

Error: Cannot find module '@company/config'

坦率地说,我的目录中没有需要识别的东西!我似乎讨厌这里发生的一些魔术。

我只能猜测的是,这是我还没有接触过的一些晦涩的npm或Node技巧,或者也许是我没有得到其他一些黑暗的配置技巧。任何信息都值得赞赏,即使这只是对@require的工作方式的解释。

其他想法:Chef参与了整个事情的某个地方,因此可能是有意义的。

:99%的人确定这是目前工作方式的问题npm config,但仍不确定如何解决。

Dereks-MacBook-Pro:project-dir derekjanni$ npm config set //registry.npmjs.org/:authtoken $SECRET_TOKEN

Dereks-MacBook-Pro:project-dir derekjanni$ npm install

npm ERR! Darwin 15.0.0

npm ERR! argv "/usr/local/Cellar/node/5.5.0/bin/node" "/usr/local/bin/npm" "install"

npm ERR! node v5.5.0

npm ERR! npm v3.5.3

npm ERR! code E404

npm ERR! 404 Not found : @company/config

npm ERR! 404 '@company/config' is not in the npm registry.

回答:

所以我自己解决了这个问题。

事实证明@company/config,这是我们的私有NPM存储库之一,托管在npm上,并由此别名定义为内部GitHub存储库:与require工作方式无关。

@对于私有NPM存储库,我可能不知道使用或可能不使用该协议,如果遇到此问题,请记住这一点。

以上是 在节点模块名称中使用@符号[重复] 的全部内容, 来源链接: utcz.com/qa/405075.html

回到顶部