在我使用Node.js
设置NVM
时,我在使用Yeoman
时偶然发现错误。我有
错误
Cannot find module 'yeoman-generator'
经过一番研究后我发现了this post on StackOverflow,这也是我的问题所在。现在我尝试这样做了,但我遇到的问题是,我想在系统中使用不同版本的Node.js并使用NVM。如果Node.js版本在NVM的帮助下发生变化,现在可以动态更改$ NODE_PATH吗?因为我的$ NODE_PATH目前是空的(这导致了问题)。
$ which node
/Users/dschmidt/.nvm/v0.10.35/bin/node
$ which npm
/Users/dschmidt/.nvm/v0.10.35/bin/npm
$ echo $NODE_PATH
[empty]
对于我得到的每一个答案都会感到高兴。我在网上搜索了这个,但找不到一篇关于此的帖子。
答案 0 :(得分:15)
将以下内容添加到.bashrc
或.zshrc
帮助
export NODE_PATH=$NODE_PATH:`npm root -g`
我不熟悉这是不是很好。
Pensierinmusica指出答案 1 :(得分:11)
NVM将在您运行
后设置节点和npm的路径nvm use <node_version>
但是,这仅适用于当前shell,除非您设置默认版本,否则任何新shell都不会选择npm版本,直到您运行上一个命令为止
nvm alias default <node_version>
瞧!您在打开的任何新shell中都有npm和node的工作版本。
要更改默认值,只需使用要使用的新版本节点再次运行它。 e.g。
nvm alias default v5.4.0
答案 2 :(得分:4)
我想办法让这项工作成功。
在class valueResults(models.Model):
value_id = models.ForeignKey(value)
result_date = EncryptedDateTimeField()
status_code = EncryptedCharField(max_length=25)
value = EncryptedIntegerField()
test_started = EncryptedDateTimeField()
class value(models.Model):
value_id = EncryptedCharField(primary_key=True, unique=True, max_length=100)
valuetype_id = models.ForeignKey(valueType)
dateitemord = EncryptedDateTimeField()
status = EncryptedCharField(max_length=100)
item_id = models.ForeignKey(Items)
user_id = models.ForeignKey(User)
class Items(models.Model):
item_id = models.CharField(primary_key=True,max_length=100)
mailed_date = EncryptedDateTimeField()
received_date = EncryptedDateTimeField()
last_viewed = EncryptedDateTimeField()
dateitemsent = EncryptedDateTimeField()
itemidvalue = EncryptedCharField(max_length=100)
itemsent = EncryptedCharField(max_length=25)
itemret = EncryptedCharField(max_length=25)
dateitemret = EncryptedDateTimeField()
status = EncryptedCharField(max_length=25)
文件或~/.bash_rc
添加此行:
~/.zsh_rc
打开新shell或运行此export NODE_PATH=`which node`
以获取更改
答案 3 :(得分:1)
这(取自 GN. 和 Nick)对我来说效果很好,但我需要将它添加到 ~/.bash_profile
,因为我在 Mac 上使用 Bash 作为外壳
export NODE_PATH=`which node`